.v73-home {
  --paper: #f0ece4;
  --paper-soft: #f7f4ee;
  --mist: #e8e3dc;
  --ink: #202020;
  --night: #171717;
  --night-soft: #252323;
  --white: #faf7f2;
  --muted: #bcb5af;
  --line: rgba(16, 24, 32, 0.2);
  --line-light: rgba(242, 242, 245, 0.2);
  --brand-red: #a5232b;
  --brand-red-hover: #801b22;
  --accent-on-dark: #f1aaa4;
  --coral: #a5232b;
  --violet: #e4d6ca;
  --lavender: #f1dcd5;
  --lime: #f1dcd5;
  --font-sans: "Helvetica Neue", Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --content: 92rem;
  color: var(--ink);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 8.5rem; }
/* Canvas renders each editable component inside this custom element. Explicitly
   flatten it so the preview has the same layout as the published page. */
canvas-island { display: contents !important; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-sans); overflow-x: hidden; }
body.menu-open { overflow: hidden; }
/* Canvas measures a preview iframe with overflow hidden. Homepage sections use
   a viewport-height layout on the public site, so Canvas can otherwise resolve
   their initial content height to zero. This selector is added only by the
   preview iframe script above and never affects the published page. */
html.gwd-canvas-preview,
html.gwd-canvas-preview body { overflow: visible !important; }
html.gwd-canvas-preview .hero-layout { height: auto; min-height: 34rem; }
html.gwd-canvas-preview .hero-grid { height: auto; min-height: 34rem; overflow: visible; }
html.gwd-canvas-preview .reveal { opacity: 1 !important; transform: none !important; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: var(--white); }
:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.skip-link { position: fixed; z-index: 100; top: .5rem; left: .5rem; transform: translateY(-160%); padding: .85rem 1rem; background: var(--lime); color: var(--night); font: 700 .72rem/1 var(--font-mono); text-transform: uppercase; text-decoration: none; }
.skip-link:focus { transform: none; }
.shell { width: min(calc(100% - 2rem), var(--content)); margin-inline: auto; }

/* Critical Tailwind-compatible utilities used above the fold.
   Keeping them local prevents the Play CDN compilation from moving the header or hero. */
.flex { display: flex; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.gap-4 { gap: 1rem; }
.gap-8 { gap: 2rem; }
.gap-10 { gap: 2.5rem; }
.min-h-10 { min-height: 2.5rem; }
.min-h-24 { min-height: 6rem; }
.font-bold { font-weight: 700; }
.uppercase { text-transform: uppercase; }
.tracking-\[\.14em\] { letter-spacing: .14em; }
.text-\[10px\] { font-size: 10px; }
.mt-6 { margin-top: 1.5rem; }
.no-underline { text-decoration: none; }
.mono { font-family: var(--font-mono); text-transform: uppercase; letter-spacing: .12em; }
.eyebrow { color: var(--coral); font-size: .72rem; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; font-family: var(--font-mono); }
.hairline { border-color: var(--line); }
.section-pad { padding-block: clamp(5rem, 9vw, 9rem); }
.display { line-height: .86; letter-spacing: -.075em; font-weight: 800; }
.display-gradient { background: none; background-clip: text; -webkit-background-clip: text; color: var(--white); }
.hero-pulse { display: inline; text-decoration-line: underline; text-decoration-thickness: .07em; text-decoration-style: solid; text-decoration-color: transparent; text-underline-offset: .08em; animation: hero-underline 3.2s cubic-bezier(.22,.8,.32,1) 2s infinite; }
@keyframes hero-underline { 0%, 18% { text-decoration-color: transparent; } 42%, 70% { text-decoration-color: var(--coral); } 100% { text-decoration-color: transparent; } }
.section-title { font-size: clamp(2.7rem, 5.2vw, 5.8rem); line-height: .92; letter-spacing: -.055em; font-weight: 750; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .8rem; min-height: 3.7rem; padding: 0 1.4rem; border: 1px solid currentColor; font: 700 .74rem/1 var(--font-mono); letter-spacing: .09em; text-transform: uppercase; text-decoration: none; transition: transform .2s ease, background .2s ease, color .2s ease; }
.btn:hover { transform: translateY(-3px); }
.btn-primary { background: var(--brand-red); color: white; border-color: var(--brand-red); }
.btn-dark { background: var(--night); color: var(--white); border-color: var(--night); }
.btn-outline-light { color: var(--white); border-color: rgba(255,255,255,.45); }
.btn-outline-dark { color: var(--ink); border-color: rgba(16,24,32,.45); }
.night { background: var(--night); color: var(--white); }
.paper { background: var(--paper); color: var(--ink); }

.utility-bar { position: relative; z-index: 51; color: var(--white); font-family: var(--font-mono); }
.site-header { position: sticky; z-index: 50; top: 0; background: rgba(240,236,228,.92); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.brand { display: flex; align-items: center; gap: .8rem; font-weight: 800; letter-spacing: -.03em; text-decoration: none; }
.brand-logo { display: block; width: 13vw; height: auto; }
.garza-wordmark { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 0; color: #df2d32; line-height: .82; }
.garza-name { font: 800 clamp(2.25rem, 4vw, 3.25rem)/.78 Georgia, 'Times New Roman', serif; letter-spacing: -.11em; text-transform: lowercase; }
.garza-sub { margin-left: .3rem; color: currentColor; font: 700 clamp(.72rem, 1.05vw, .95rem)/1 var(--font-sans); letter-spacing: -.04em; }
.brand-mark { display: grid; place-items: center; width: 2.7rem; height: 2.7rem; background: var(--night); color: white; font: 700 .78rem/1 var(--font-mono); }
.brand-mark i { color: var(--coral); font-style: normal; }
.site-header .shell { position: relative; }
.site-header .region-primary-menu, .site-header .block-system-menu-blockmain { display: contents; }
.desktop-nav { position: absolute; top: 50%; bottom: auto; left: 50%; width: max-content; height: 6rem; align-self: auto; transform: translate(-50%, -50%); }
.desktop-nav > a, .mega-trigger {
  font-family: Inter, sans-serif;
  font-size: 1.2vw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
}
.desktop-nav > a { padding-inline: .4rem; }
.desktop-nav > a:hover, .mega-trigger:hover { color: var(--coral); }
.mega-item { display: flex; align-items: center; height: 100%; }
.mega-trigger { display: inline-flex; align-items: center; gap: .55rem; height: 100%; padding: 0; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--ink); cursor: pointer; transition: color .2s ease, border-color .2s ease; }
.mega-trigger[aria-expanded="true"], .mega-item:hover .mega-trigger { color: var(--brand-red); border-bottom-color: var(--brand-red); }
.mega-chevron { width: .52rem; height: .52rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-.12rem); transition: transform .2s ease; }
.mega-trigger[aria-expanded="true"] .mega-chevron, .mega-item:hover .mega-chevron { transform: rotate(225deg) translate(-.08rem,-.08rem); }
.mega-panel { position: absolute; z-index: 70; top: 100%; left: 50%; display: grid; grid-template-columns: minmax(24rem, 1.35fr) minmax(18rem, .9fr); width: 58rem; max-width: calc(100vw - 8rem); overflow: hidden; border: 1px solid var(--line); background: var(--paper); box-shadow: 0 1.3rem 3.5rem rgba(16,24,32,.2); opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, -.55rem); transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s; }
.mega-item:hover .mega-panel, .mega-item.is-open .mega-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); transition-delay: 0s; }
.mega-links { display: grid; align-content: start; gap: 1.5rem; padding: 2.25rem 2rem; background: var(--paper); }
@media (min-width: 981px) {
  .mega-panel { max-height: min(70vh, 46rem); overflow-y: auto; overscroll-behavior: contain; }
  .mega-panel-simple { grid-template-columns: minmax(0, 1fr); width: 25rem; }
}
.mega-links a { display: block; margin: -.55rem -.75rem; padding: .55rem .75rem; border-left: 3px solid transparent; color: var(--ink); text-decoration: none; transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease; }
.mega-links a:hover, .mega-links a:focus-visible { border-left-color: var(--brand-red); background: rgba(165,35,43,.09); color: var(--brand-red); transform: translateX(.3rem); outline: none; }
.mega-links a:hover span, .mega-links a:focus-visible span { color: #554c49; }
.mega-links strong { display: block; margin-bottom: .3rem; font-size: clamp(1rem, 1.2vw, 1.18rem); line-height: 1.15; }
.mega-links span { display: block; color: #68645f; font-size: .94rem; line-height: 1.38; }
.mega-feature { display: flex; flex-direction: column; min-height: 22rem; padding: 2.25rem 2rem; text-decoration: none; }
.mega-feature-light { background: #eed5cd; color: var(--ink); }
.mega-feature-dark { background: var(--night); color: var(--white); }
.mega-kicker, .mega-cta { font: 700 .68rem/1.3 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.mega-kicker { color: var(--brand-red); }
.mega-feature-dark .mega-kicker, .mega-feature-dark .mega-cta { color: #e8aaa5; }
.mega-feature strong { display: block; max-width: 18rem; margin-block: auto; font-size: clamp(1.25rem, 1.65vw, 1.65rem); line-height: 1.12; }
.mega-cta { margin-top: auto; color: var(--brand-red); }
.mega-feature:hover .mega-cta { text-decoration: underline; text-underline-offset: .25rem; }
.menu-toggle { display: none; width: 3rem; height: 3rem; border: 1px solid var(--ink); background: transparent; }
.mobile-menu-close { display: none; }
.mobile-nav { display: none; }
.text-link { color: var(--coral); font: 700 .7rem/1.4 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }

.hero { position: relative; isolation: isolate; overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -3; background: radial-gradient(circle at 78% 38%, rgba(165,35,43,.19), transparent 29%), radial-gradient(circle at 24% 84%, rgba(165,35,43,.12), transparent 34%), var(--night); }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -2; background-image: linear-gradient(var(--line-light) 1px, transparent 1px), linear-gradient(90deg, var(--line-light) 1px, transparent 1px); background-size: 5rem 5rem; opacity: .16; mask-image: linear-gradient(to bottom, transparent, black 18%, black 85%, transparent); }
.hero-light { background: var(--paper-soft); color: var(--ink); }
.hero-light::before { background: radial-gradient(circle at 78% 38%, rgba(165,35,43,.15), transparent 29%), radial-gradient(circle at 24% 84%, rgba(165,35,43,.1), transparent 34%), var(--paper-soft); }
.hero-light::after { background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); opacity: .35; }
.hero-light .display-gradient { background: none; color: var(--ink); }
.hero-light .hero-lede, .hero-light .hero-footer-proof > p { color: #4e5660; }
.hero-light .hero-footer-proof > p a, .hero-light .hero-proof strong { color: var(--ink); }
.hero-light .hero-proof { border-top-color: var(--line); color: #4e5660; }
.hero-light .radar { border-color: rgba(165,35,43,.52); }
.hero-light .answer-card { background: rgba(255,255,255,.9); border-color: rgba(16,24,32,.22); box-shadow: 0 2.5rem 7rem rgba(16,24,32,.2); }
.hero-light .query-bar { border-bottom-color: var(--line); }
.hero-light .ai-answer { background: linear-gradient(135deg, rgba(165,35,43,.16), rgba(165,35,43,.08)); }
.hero-light .ai-label { color: #506e18; }
.hero-light .ai-copy { color: var(--ink); }
.hero-light .source-list li { border-top-color: var(--line); }
.hero-light .source-domain, .hero-light .source-list p, .hero-light .coordinates { color: #626973; }
.hero-layout { height: calc(100svh - 8.5rem); min-height: 34rem; display: block; }
.hero-grid { height: 100%; min-height: 0; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(25rem, .95fr); gap: clamp(2rem, 4vw, 5rem); align-items: center; padding-block: clamp(.25rem, 1vh, .75rem); overflow: hidden; }
.hero-copy { max-width: 54rem; }

@media (min-width: 981px) {
  .hero-grid { grid-template-columns: 55vw minmax(0, 1fr); gap: clamp(1.5rem, 2.5vw, 3rem); }
  .hero-copy { width: 55vw; max-width: 55vw; }
  .hero-copy .hero-pulse { display: block; }
}
.hero .display { max-width: unset; font-size: clamp(2.65rem, 5vw, 5.5rem); line-height: 1.125; }
.hero-footer { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 5vw, 6rem); padding-block: .7rem .85rem; border-top: 1px solid var(--line-light); }
.hero-footer-primary, .hero-footer-proof { min-width: 0; }
.hero-lede { max-width: 50rem; margin: 0; color: #c8c6d0; font-size: clamp(.95rem, 1.25vw, 1.12rem); line-height: 1.5; }
.hero-copy .hero-lede { max-width: 42rem; margin-top: 1.35rem; }
.hero-copy .hero-actions { margin-top: 1.15rem; }
.hero-copy .hero-footer-proof { margin-top: 1.2rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.hero-footer .btn { min-height: 3.2rem; padding-inline: 1.15rem; }
.hero-footer-proof > p { max-width: 44rem; margin: 0; color: #b9b7c2; font-size: .9rem; line-height: 1.5; }
.hero-footer-proof > p a { color: var(--white); font-weight: 750; }
.hero-proof { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .55rem 1.1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line-light); color: #d2d0d9; font: 600 .62rem/1.35 var(--font-mono); text-transform: uppercase; letter-spacing: .07em; }
.hero-proof strong { color: white; }

/* component: split-focus */
.split-focus { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.split-focus-panel { min-height: clamp(36rem, 48vw, 52rem); padding: clamp(3rem, 5.8vw, 7rem); display: flex; }
.split-focus-inner { width: min(100%, 47rem); display: flex; flex-direction: column; align-items: flex-start; }
.split-focus h2 { max-width: 11.8ch; margin: clamp(4.5rem, 8vw, 9.5rem) 0 0; font-size: clamp(3.25rem, 4.9vw, 7.2rem); line-height: 1; letter-spacing: -.075em; font-weight: 800; text-wrap: balance; }
.split-focus p { max-width: 41rem; margin: auto 0 0; font-size: clamp(1rem, 1.3vw, 1.28rem); line-height: 1.55; }
.split-focus a { position: relative; width: 100%; margin-top: clamp(3rem, 5vw, 6rem); padding-top: 1.5rem; border-top: 1px solid currentColor; display: flex; justify-content: space-between; gap: 1rem; font: 700 clamp(.68rem, .75vw, .84rem)/1.4 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
.split-focus a::before { content: ""; position: absolute; top: -1px; left: 0; width: 22%; border-top: 1px solid currentColor; transform-origin: left; transform: rotate(1.9deg); }
.split-focus a:hover { opacity: .72; }
.split-focus-search { background: var(--night); color: var(--white); }
.split-focus-search .eyebrow { color: var(--coral); }
.split-focus-search p { color: #c7c5cf; }
.split-focus-action { background: var(--brand-red); color: var(--white); }
.split-focus-action .eyebrow { color: var(--night); }
.split-focus-action p { color: rgba(255,255,255,.9); }

.answer-stage { position: relative; min-height: 0; height: 100%; display: grid; place-items: center; }

@media (min-width: 981px) {
  .answer-stage { max-width: 55vw; }
}
.answer-stage .radar { width: min(28rem, 88%); }
.answer-stage .radar-lines { width: min(28rem, 88%); }
.answer-card { position: absolute; transform: scale(.924); transform-origin: center; }
.answer-stage .query-bar { height: 3.7rem; min-height: 3.7rem; padding-block: .75rem; overflow: hidden; }
.answer-stage .query-bar [data-query] { min-width: 0; white-space: nowrap; overflow: hidden; }
.answer-stage .ai-answer { min-height: 14rem; }
.answer-stage .ai-copy { height: 12rem; min-height: 12rem; overflow: hidden; }
.answer-stage .source-list li { padding-block: .85rem; }
.radar { position: absolute; width: min(34rem, 95%); aspect-ratio: 1; border: 1px solid rgba(165,35,43,.7); border-radius: 50%; animation: breathe 6s ease-in-out infinite; }
.radar::before, .radar::after { content: ""; position: absolute; inset: 18%; border: 1px solid rgba(165,35,43,.62); border-radius: 50%; }
.radar::after { inset: 36%; border-color: rgba(201,255,99,.52); }
.radar-lines { position: absolute; inset: 50% auto auto 50%; width: min(34rem, 95%); height: 1px; background: linear-gradient(90deg, transparent, rgba(165,35,43,.85), transparent); transform-origin: left; animation: sweep 10s linear infinite; }
.answer-card { position: absolute; z-index: 3; width: min(38rem, 100%); overflow: hidden; border: 1px solid rgba(242,242,245,.3); border-radius: 1.25rem; background: rgba(37,35,35,.93); box-shadow: 0 2.5rem 7rem rgba(0,0,0,.45); backdrop-filter: blur(18px); }

@media (min-width: 981px) {
  .answer-card {
    width: 100%;
    font-size: clamp(1.1rem, calc(1rem + .08vw), 1.4rem);
  }
  .answer-card .ai-copy { font-size: clamp(.9rem, calc(.84rem + .12vw), 1rem); }
  .answer-card .source-list p { font-size: clamp(.8rem, calc(.8rem + .25vw), 1rem); }
}
.query-bar { display: flex; gap: .8rem; align-items: center; min-height: 4.2rem; padding: 1rem 1.2rem; border-bottom: 1px solid var(--line-light); font-weight: 600; }
.query-bar h2 { margin: 0; font: inherit; }
.query-icon { color: var(--coral); font-size: 2.2rem; line-height: 1; }
.cursor { display: inline-block; width: .55rem; height: 1.15rem; margin-left: .15rem; background: var(--brand-red); vertical-align: -.15rem; animation: blink .85s steps(1) infinite; }
.ai-answer { margin: 1rem; padding: 1.2rem; background: linear-gradient(135deg, rgba(165,35,43,.19), rgba(165,35,43,.09)); border-left: 2px solid var(--violet); }
.ai-label { color: var(--lime); font: 700 .66rem/1 var(--font-mono); text-transform: uppercase; letter-spacing: .12em; }
.ai-copy { min-height: 7.5rem; margin-top: .8rem; color: #e9e8ee; line-height: 1.55; }
.source-list { margin: 0 1.25rem 1.25rem; padding: 0; list-style: none; }
.source-list li { padding: .8rem 0; border-top: 1px solid var(--line-light); opacity: .28; transition: opacity .5s ease, transform .5s ease; transform: translateY(5px); }
.source-list li.active { opacity: 1; transform: none; }
.source-domain { color: var(--muted); font: 500 .63rem/1 var(--font-mono); }
.source-title { margin-top: .3rem; font-weight: 700; }
.source-title em { color: var(--lavender); font-style: normal; }
.source-list p { margin-bottom: 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.answer-stage.is-animated [data-query] { clip-path: inset(0 100% 0 0); }
.answer-stage.is-animated [data-query] { transition: clip-path 1.35s steps(36, end); }
.answer-typed-copy { display: none; }
.answer-stage.is-animated .answer-source-copy { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.answer-stage.is-animated .answer-typed-copy { display: block; font-size: 1.1em; font-weight: 300; }
.answer-stage.is-animated .answer-typed-copy.is-typing::after { content: ""; display: inline-block; width: .08em; height: 1em; margin-left: .12em; background: currentColor; vertical-align: -.08em; animation: blink .7s steps(1) infinite; }
.answer-stage.is-animated [data-answer] { opacity: 0; }
.answer-stage.is-animated.show-query [data-query] { clip-path: inset(0 0 0 0); }
.answer-stage.is-animated.show-answer [data-answer] { opacity: 1; }
.coordinates { position: absolute; right: 0; bottom: 0; color: var(--muted); font: 600 .6rem/1.55 var(--font-mono); letter-spacing: .12em; }

.logo-grid { display: grid; grid-template-columns: repeat(6, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.logo-grid a { min-height: 7.5rem; display: grid; place-items: center; padding: 1.3rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); filter: grayscale(1); opacity: .72; transition: filter .2s ease, opacity .2s ease, background .2s ease; }
.logo-grid a:hover { filter: none; opacity: 1; background: var(--paper-soft); }
.logo-grid img { max-height: 3.8rem; width: auto; }

.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-left: 1px solid var(--line); }
.trust-item { min-height: 9rem; padding: 1.6rem; border-right: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; }
.trust-item strong { font-size: clamp(1.6rem, 3vw, 3rem); letter-spacing: -.05em; }
.trust-item span { font: 650 .66rem/1.4 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }

.intro-grid { display: grid; grid-template-columns: .42fr 1fr; gap: 3rem; }
.rich-copy-grid { display: grid; grid-template-columns: .33fr 1fr; gap: clamp(3rem, 8vw, 9rem); }
.vertical-section-label { margin: 0; color: var(--coral); font: 700 clamp(1rem, 1.25vw, 1.35rem)/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; writing-mode: vertical-rl; }
.prose-copy { max-width: 58rem; font-size: 1.08rem; line-height: 1.78; color: #4e5660; }
.prose-copy p + p { margin-top: 1.25rem; }
.prose-copy a { color: inherit; text-decoration-color: var(--coral); text-underline-offset: .22em; }
.prose-light { color: #c7c5cf; }
.local-story-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.richmond-collage { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; position: relative; }
.richmond-collage img { width: 100%; aspect-ratio: 1; object-fit: cover; border: 1px solid var(--line-light); filter: saturate(.55) contrast(1.08); }
.richmond-collage img { aspect-ratio: 1; }
.rva-stamp { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 10rem; aspect-ratio: 1; border-radius: 50%; background: rgba(23,23,23,.9); border: 1px solid var(--violet); color: white; font-size: 3.5rem; font-weight: 900; letter-spacing: -.08em; }
.rva-stamp { display: none; }
.rva-stamp small { font: 600 .48rem/1.4 var(--font-mono); letter-spacing: .08em; }
.area-chips { display: flex; flex-wrap: wrap; border-left: 1px solid var(--line); border-top: 1px solid var(--line); }
.area-chips span { padding: .8rem 1rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font: 650 .65rem/1 var(--font-mono); text-transform: uppercase; letter-spacing: .08em; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 4rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service { position: relative; min-height: 20rem; padding: 1.8rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; }
.service-number { font: 650 .66rem/1 var(--font-mono); letter-spacing: .12em; }
.service h3 { margin: auto 0 1rem; font-size: 1.7rem; line-height: 1.05; letter-spacing: -.035em; }
.service p { color: #525963; line-height: 1.55; }
.service a { margin-top: 1rem; color: var(--coral); font: 700 .68rem/1.3 var(--font-mono); letter-spacing: .07em; text-transform: uppercase; text-decoration: none; }
.service:hover { background: var(--night); color: var(--white); }
.service:hover p { color: #b9b7c2; }

.split-dark { display: grid; grid-template-columns: 1fr 1fr; }
.split-dark > div { padding: clamp(4rem, 7vw, 7rem); }
.local-panel { position: relative; overflow: hidden; background: var(--night); color: var(--white); }
.local-panel::after { content: "RVA"; position: absolute; right: -2rem; bottom: -3.2rem; color: rgba(255,255,255,.035); font-size: 16rem; font-weight: 900; letter-spacing: -.1em; }
.promise-list { margin: 2.5rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line-light); }
.promise-list li { display: flex; align-items: baseline; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line-light); color: #cbc9d2; }
.promise-list b { color: var(--coral); font: 700 .7rem/1 var(--font-mono); }
.quote-panel { background: var(--violet); color: var(--night); }
.quote-mark { font-size: 5rem; line-height: .6; }
.quote-panel blockquote { margin: 3rem 0 2rem; font-size: clamp(1.8rem, 3vw, 3.6rem); line-height: 1.05; letter-spacing: -.05em; font-weight: 650; }

.search-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.telemetry { border: 1px solid var(--line-light); }
.telemetry-head, .metric { display: flex; justify-content: space-between; gap: 2rem; padding: 1rem 1.2rem; border-bottom: 1px solid var(--line-light); font: 600 .65rem/1.3 var(--font-mono); text-transform: uppercase; letter-spacing: .08em; }
.metric:last-child { border-bottom: 0; }
.metric strong { color: var(--lime); }
.answer-principles { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 3rem; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.answer-principles div { padding: 1.2rem; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.answer-principles b { display: block; color: var(--coral); font: 700 .67rem/1 var(--font-mono); }
.search-foundations { margin-bottom: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-light); }
.search-foundations li { padding: 1rem 0 1rem 2.2rem; border-bottom: 1px solid var(--line-light); color: #c7c5cf; line-height: 1.55; position: relative; }
.search-foundations li::before { content: "↗"; position: absolute; left: 0; color: var(--coral); font-family: var(--font-mono); }
.search-foundations strong { color: white; }

.results-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(3rem, 8vw, 8rem); }
.big-stat { padding-block: 2rem; border-top: 1px solid var(--line); }
.big-stat strong { display: block; font-size: clamp(4rem, 8vw, 8rem); line-height: .9; letter-spacing: -.07em; }
.big-stat span { display: block; max-width: 30rem; margin-top: 1rem; color: #555c64; line-height: 1.5; }

/* component: hunnicutt-case-study */
.case-study-heading { max-width: 72rem; }
.case-study-heading .section-title { max-width: 18ch; }
.case-study-deck { max-width: 54rem; margin-top: 2rem; color: #555c64; font-size: clamp(1.1rem, 1.5vw, 1.35rem); line-height: 1.65; }
.case-study-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; margin-top: clamp(3rem, 6vw, 6rem); }
.case-study-visual { position: sticky; top: 8rem; }
.case-study-visual a { display: block; overflow: hidden; padding: clamp(.75rem,1.5vw,1.25rem); border: 1px solid var(--line); border-radius: 1.25rem; background: #fff; box-shadow: 0 1.5rem 3.5rem rgba(16,24,32,.10); }
.case-study-visual img { display: block; width: 100%; max-height: 30rem; height: auto; margin: 0 auto; aspect-ratio: auto; object-fit: contain; transition: transform .65s cubic-bezier(.22,.8,.32,1), filter .65s ease; }
.case-study-visual a:hover img,
.case-study-visual a:focus-visible img { transform: scale(1.025); filter: saturate(1.08); }
.case-study-caption { margin-top: 1rem; color: #737980; font: 700 .7rem/1.5 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.case-study-narrative { display: grid; gap: 1.25rem; }
.case-study-narrative article { padding: 1.5rem; border-left: 3px solid var(--coral); background: rgba(255,255,255,.55); }
.case-study-narrative article span { display: block; margin-bottom: .65rem; color: var(--coral); font: 800 .7rem/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.case-study-narrative article p { margin: 0; color: #454c54; font-size: 1.03rem; line-height: 1.7; }
.case-study-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 2rem; overflow: hidden; border: 1px solid var(--line); border-radius: 1.25rem; background: var(--line); }
.case-study-stats div { min-height: 11rem; padding: 1.5rem; background: var(--night); color: var(--white); }
.case-study-stats div:nth-child(2),
.case-study-stats div:nth-child(3) { background: var(--violet); color: var(--night); }
.case-study-stats strong { display: block; font-size: clamp(2.6rem, 5vw, 5.2rem); line-height: .95; letter-spacing: -.06em; }
.case-study-stats span { display: block; max-width: 19rem; margin-top: 1rem; font-size: .9rem; line-height: 1.45; }
.case-study-source { margin: 1.25rem 0; color: #737980; font: 600 .7rem/1.6 var(--font-mono); }
/* /component: hunnicutt-case-study */
.work-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 4rem; }
.work-card { position: relative; min-height: 27rem; padding: 1.5rem; overflow: hidden; border: 1px solid var(--line); border-right: 0; text-decoration: none; }
.work-card:last-child { border-right: 1px solid var(--line); }
.work-card::after { content: attr(data-mark); position: absolute; right: -1rem; bottom: -2rem; font-size: 10rem; font-weight: 900; letter-spacing: -.09em; color: rgba(16,24,32,.06); transition: transform .35s ease, color .35s ease; }
.work-card:hover::after { transform: translateY(-1rem); color: rgba(165,35,43,.16); }
.work-meta { font: 650 .65rem/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.work-card h3 { position: absolute; left: 1.5rem; right: 1.5rem; bottom: 1.5rem; margin: 0; font-size: clamp(1.7rem, 2.4vw, 2.7rem); line-height: .98; letter-spacing: -.04em; }
.visual-work-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.visual-work-card { display: block; padding: 1.2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-decoration: none; }
.visual-work-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; filter: saturate(.72); transition: filter .3s ease, transform .3s ease; }
.visual-work-card:hover img { filter: saturate(1); transform: scale(.985); }
.visual-work-card .work-meta { display: block; margin-top: 1.2rem; color: var(--coral); }
.visual-work-card h3 { margin: .7rem 0 .4rem; font-size: clamp(1.45rem, 2.1vw, 2.3rem); line-height: 1; letter-spacing: -.04em; }
.industry-list { border-top: 1px solid var(--line); }
.industry-list article { display: grid; grid-template-columns: 3rem 1fr; gap: 1.2rem; padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.industry-list article > span { color: var(--coral); font: 700 .67rem/1 var(--font-mono); }
.industry-list h3 { margin: 0 0 .55rem; font-size: 1.45rem; letter-spacing: -.025em; }
.industry-list p { margin: 0; color: #555d66; line-height: 1.6; }

.process { background: #e8e3dc; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 4rem; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.step { min-height: 20rem; padding: 1.5rem; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); display: flex; flex-direction: column; }
.step b { color: var(--coral); font: 700 .66rem/1 var(--font-mono); }
.step h3 { margin: auto 0 1rem; font-size: 2rem; letter-spacing: -.04em; }
.step p { margin: 0; color: #565b63; line-height: 1.5; }
.five-step-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.five-step-grid .step { min-height: 27rem; }

.faq-grid { display: grid; grid-template-columns: .6fr 1fr; gap: clamp(3rem, 8vw, 8rem); }
.faq-list details { border-top: 1px solid var(--line); }
.faq-grid > div > .eyebrow,
.industries-section .industries-rail-head,
.metro-rail .metro-rail-head { display: none !important; }
.why-garza-index { display: none; }
.faq-grid > div > .section-title { margin-top: 0; }
.faq-list details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary { cursor: pointer; list-style: none; padding: 1.4rem 2.5rem 1.4rem 0; font-weight: 700; font-size: 1.15rem; position: relative; }
.faq-list summary::after { content: "+"; position: absolute; right: .2rem; font: 500 1.4rem/1 var(--font-mono); }
.faq-list details[open] summary::after { content: "−"; }
.faq-list p { margin: 0; padding: 0 2.5rem 1.5rem 0; color: #565d66; line-height: 1.65; }

.closing { position: relative; overflow: hidden; background: linear-gradient(135deg, var(--night), #321e20); color: white; }
.closing::after { content: ""; position: absolute; width: 45rem; height: 45rem; right: -12rem; top: -12rem; border: 1px solid rgba(165,35,43,.65); border-radius: 50%; box-shadow: 0 0 0 8rem rgba(165,35,43,.04), 0 0 0 16rem rgba(165,35,43,.03); }
.closing-inner { position: relative; z-index: 2; max-width: 66rem; }
.site-footer { background: var(--night); color: #b9b7c2; border-top: 1px solid var(--line-light); }
.footer-logo { display: inline-block; width: min(100%, 15rem); }
.footer-logo img { display: block; width: 100%; height: auto; }
.footer-grid { display: grid; grid-template-columns: 1.2fr .7fr .7fr; gap: 3rem; padding-block: 4rem; }
.footer-grid-full { display: grid; grid-template-columns: 1.4fr .65fr .65fr .9fr; gap: 3rem; padding-block: 4rem; }
.footer-grid h3, .footer-grid-full h3 { margin: 0 0 1rem; color: white; font: 700 .68rem/1 var(--font-mono); text-transform: uppercase; letter-spacing: .1em; }
.footer-grid p, .footer-grid a, .footer-grid-full p, .footer-grid-full a { color: #b9b7c2; line-height: 1.7; }
.footer-grid a:hover, .footer-grid-full a:hover { color: white; }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; padding-block: 1.2rem; border-top: 1px solid var(--line-light); font: 500 .62rem/1.5 var(--font-mono); text-transform: uppercase; letter-spacing: .08em; }

.reveal { opacity: 0; transform: translateY(2rem); animation: rise-in .7s ease .12s forwards; transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }
@keyframes blink { 50% { opacity: 0; } }
@keyframes sweep { to { transform: rotate(360deg); } }
@keyframes breathe { 50% { transform: scale(1.045); opacity: .72; } }
@keyframes rise-in { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } .reveal { opacity: 1; transform: none; } .hero-pulse { text-decoration-color: var(--coral); animation: none; } }

@media (max-width: 980px) {
  .desktop-nav, .header-cta { display: none !important; }
  .brand-logo { width: clamp(9.5rem, 28vw, 11rem); }
  .menu-toggle { display: grid !important; place-items: center; flex: 0 0 3rem; }
  .site-header { backdrop-filter: none; background: var(--paper); }
  .desktop-nav.open { position: fixed; z-index: 49; top: 8.5rem; bottom: 0; left: 0; right: 0; width: auto; min-width: 0; height: auto; display: grid !important; align-content: start; gap: 0; padding: 1rem; overflow-x: hidden; overflow-y: auto; background: var(--paper); border-top: 1px solid var(--line); transform: none; }
  .desktop-nav.open > .mobile-menu-close { position: sticky; z-index: 2; top: -1rem; display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 1rem .8rem; border: 0; border-bottom: 1px solid var(--brand-red); background: var(--paper); color: var(--brand-red); font: 700 .75rem/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
  .desktop-nav.open > .mobile-menu-close span:last-child { font: 400 1.8rem/1 var(--font-sans); }
  .desktop-nav > a { padding: 1.1rem .8rem; border-bottom: 1px solid var(--line); font-size: 1.05rem; }
  .mega-item { display: block; height: auto; border-bottom: 1px solid var(--line); }
  .mega-trigger { justify-content: space-between; width: 100%; height: auto; padding: 1.1rem .8rem; border-bottom: 0; font-size: 1.05rem; text-align: left; }
  .mega-trigger[aria-expanded="true"] { border-bottom: 1px solid var(--brand-red); }
  .mega-panel { position: static; left: auto; display: none; grid-template-columns: minmax(0, 1fr); width: 100%; min-width: 0; max-width: 100%; border: 0; box-shadow: none; opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition: none; }
  .desktop-nav.open .mega-item.is-open > .mega-panel,
  .desktop-nav.open .mega-item:hover > .mega-panel { transform: none; }
  .mega-item.is-open .mega-panel { display: grid; }
  .mega-links { gap: 0; padding: .35rem .8rem 1rem; }
  .mega-links, .mega-feature { min-width: 0; }
  .mega-links a { min-width: 0; margin: 0; padding: .85rem .7rem; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
  .mega-links strong { font-size: 1rem; }
  .mega-links span { font-size: .88rem; }
  .mega-feature { min-height: 13rem; padding: 1.4rem; }
  .mega-feature strong { margin-block: 2rem; font-size: 1.25rem; }
  .hero-grid, .search-grid, .results-grid, .faq-grid, .rich-copy-grid, .local-story-grid { grid-template-columns: 1fr; }
  .case-study-grid { grid-template-columns: 1fr; }
  .why-garza-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .why-garza-rail { min-height: 0; padding: 0 0 2rem; border-right: 0; border-bottom: 1px solid rgba(242,242,245,.18); }
  .why-proof-card { width: min(100%, 24rem); margin: 2rem 0; }
  .why-garza-rail-foot { padding-right: 0; }
  .case-study-visual { position: relative; top: auto; }
  .hero { min-height: auto; }
  .hero-layout { height: auto; min-height: auto; }
  .hero-copy { padding-top: 2rem; }
  .answer-stage { min-height: 27rem; height: auto; }
  .answer-stage .ai-answer { min-height: 16rem; }
  .answer-stage .ai-copy { height: 14rem; min-height: 14rem; }
  .answer-card { position: relative; transform: scale(.9); }
  .intro-grid { grid-template-columns: 1fr; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .split-dark { grid-template-columns: 1fr; }
  .split-focus { grid-template-columns: 1fr; }
  .split-focus-panel { min-height: 34rem; }
  .trust-grid, .process-grid { grid-template-columns: repeat(2, 1fr); }
  .work-grid { grid-template-columns: 1fr; }
  .logo-grid { grid-template-columns: repeat(3, 1fr); }
  .visual-work-grid { grid-template-columns: 1fr; }
  .five-step-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid-full { grid-template-columns: repeat(2, 1fr); }
  .work-card { min-height: 18rem; border-right: 1px solid var(--line); border-bottom: 0; }
  .work-card:last-child { border-bottom: 1px solid var(--line); }
}

@media (max-width: 640px) {
  .shell { width: min(calc(100% - 1.25rem), var(--content)); }
  .hero-grid { gap: 1rem; padding-block: 2.5rem 1rem; }
  .hero-actions .btn { width: 100%; }
  .answer-stage { min-height: 22rem; }
  .answer-stage .ai-answer { min-height: 18rem; }
  .answer-stage .ai-copy { height: 16rem; min-height: 16rem; }
  .answer-card { transform: scale(.84); }
  .case-study-stats { grid-template-columns: 1fr; }
  .case-study-stats div { min-height: 0; }
  .hero-footer { gap: 1.25rem; }
  .hero-footer .hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .hero-footer .hero-actions .btn { width: auto; min-width: 0; padding-inline: .65rem; font-size: .6rem; }
  .hero-proof { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .8rem; }
  .coordinates { display: none; }
  .trust-grid, .service-grid, .process-grid, .answer-principles, .five-step-grid { grid-template-columns: 1fr; }
  .logo-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-item { min-height: 7.5rem; }
  .split-dark > div { padding: 3.5rem 1.25rem; }
  .split-focus-panel { min-height: 31rem; padding: 3.5rem 1.25rem; }
  .split-focus h2 { margin-top: 4.5rem; font-size: clamp(3.1rem, 15vw, 4.8rem); }
  .split-focus a { margin-top: 3.5rem; }
  .footer-grid, .footer-grid-full { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
}

/* Night Shift fidelity pass: preserve Garza's full content while applying the
   reference concept's editorial cards, checklist rows, radar lines and rhythm. */
#services { background: var(--mist); }
#services .intro-grid { grid-template-columns: 1fr; }
#services .service-grid { gap: 1rem; border: 0; }
#services .service {
  min-height: 25rem;
  padding: 2rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 1.5rem;
  background: var(--paper-soft);
}
#services .service::before {
  content: "";
  position: absolute;
  width: 12rem;
  height: 12rem;
  right: -7rem;
  top: -7rem;
  border: 1px solid var(--lavender);
  border-radius: 50%;
  box-shadow: 0 0 0 2.8rem rgba(165,35,43,.05);
  transition: box-shadow .65s ease;
}
#services .service::after {
  content: "";
  position: absolute;
  left: 2rem;
  right: 2rem;
  bottom: 1.25rem;
  height: 1px;
  background: var(--line);
}
#services .service {
  color: var(--night);
  text-decoration: none;
  transition: background-color .65s ease, border-color .65s ease, color .65s ease, transform .65s ease, box-shadow .65s ease;
}
#services .service h3 { font-size: clamp(2rem, 2.8vw, 2.8rem); font-weight: 600; }
#services .service-cta { margin-top: 1rem; color: var(--coral); font: 700 .68rem/1.3 var(--font-mono); letter-spacing: .07em; text-transform: uppercase; }
#services .service:hover, #services .service:focus-visible { background: var(--night); border-color: var(--night); color: var(--white); transform: translateY(-.35rem); box-shadow: 0 1.1rem 2rem rgba(20, 22, 30, .16); }
#services .service:hover::before { box-shadow: 0 0 0 2.8rem rgba(165, 35, 43, .15); }
#services .service:hover p, #services .service:focus-visible p { color: #d0ced8; }
#services .service:hover .service-cta, #services .service:focus-visible .service-cta { color: var(--coral); }
#services .service:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }

#why-garza { background: var(--night); color: var(--white); }
#why-garza .eyebrow { color: var(--coral); }
#why-garza .prose-copy { color: #d0ced8; }
.why-garza-grid { display: grid; grid-template-columns: minmax(15rem, .34fr) minmax(0, 1fr); gap: clamp(3rem, 7vw, 8rem); align-items: stretch; }
.why-garza-rail { display: flex; flex-direction: column; min-height: 100%; padding: .2rem 0; border-right: 1px solid rgba(242,242,245,.18); }
.why-garza-rail-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-right: clamp(1.5rem, 3vw, 3rem); }
.why-garza-index { color: var(--muted); font: 700 .72rem/1 var(--font-mono); letter-spacing: .12em; }
.why-proof-card { display: flex; flex-direction: column; align-items: flex-start; width: min(100%, 18rem); margin: clamp(3.5rem, 6vw, 5rem) 0 auto; padding: clamp(1.5rem, 2.5vw, 2.4rem); border: 1px solid rgba(242,242,245,.25); border-radius: 1.25rem; background: linear-gradient(145deg, rgba(165,35,43,.2), rgba(165,35,43,.08)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.03); }
.why-proof-kicker { color: var(--lime); font: 700 .68rem/1.2 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.why-proof-card strong { margin-top: .8rem; color: var(--white); font-size: clamp(5rem, 10vw, 9rem); line-height: .82; letter-spacing: -.1em; }
.why-proof-card > span:not(.why-proof-kicker) { margin-top: .8rem; color: #d0ced8; font: 700 .72rem/1.35 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.why-proof-rule { width: 100%; margin: 2rem 0 1.4rem; border-top: 1px solid rgba(242,242,245,.25); }
.why-proof-card p { margin: 0; color: #d0ced8; font-size: 1.03rem; line-height: 1.5; }
.why-garza-rail-foot { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; padding: 1.25rem clamp(1.5rem, 3vw, 3rem) 0 0; border-top: 1px solid rgba(242,242,245,.18); color: var(--muted); font: 700 .64rem/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.why-garza-body { min-width: 0; }

/* Use the hero's customer-first gradient wherever a major heading sits on a dark field. */
.night .section-title, #why-garza .section-title, .closing .section-title {
  background: none;
  background-clip: text;
  -webkit-background-clip: text;
  color: var(--white);
}
#why-garza .trust-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; border: 0; }
#why-garza .trust-item { min-height: 12rem; border: 0; border-radius: 1.25rem; padding: 1.5rem; }
#why-garza .trust-item:nth-child(1) { background: var(--night); color: var(--white); }
#why-garza .trust-item:nth-child(2) { background: var(--violet); color: var(--night); }
#why-garza .trust-item:nth-child(3) { background: var(--brand-red); color: var(--night); }
#why-garza .trust-item:nth-child(4) { background: var(--lavender); color: var(--night); }

main > section[data-region="richmond-roots"] .section-title {
  max-width: 13ch;
  background: none;
  background-clip: text;
  -webkit-background-clip: text;
  color: var(--white);
}
main > section[data-region="richmond-roots"] .richmond-collage { gap: 1rem; }
main > section[data-region="richmond-roots"] .richmond-collage img { border-radius: 1.25rem; box-shadow: 0 1.5rem 5rem rgba(0,0,0,.32); }

main > section[data-region="service-area"] { background: var(--mist); }
main > section[data-region="service-area"] .metro-grid { display: grid; grid-template-columns: minmax(15rem,.34fr) minmax(0,1fr); gap: clamp(3rem,7vw,8rem); align-items: stretch; }
main > section[data-region="service-area"] .metro-rail { display: flex; flex-direction: column; min-height: 100%; padding: .2rem 0; border-right: 1px solid var(--line); }
main > section[data-region="service-area"] .metro-rail-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-right: clamp(1.5rem,3vw,3rem); }
main > section[data-region="service-area"] .metro-index { color: var(--muted); font: 700 .72rem/1 var(--font-mono); letter-spacing: .12em; }
main > section[data-region="service-area"] .metro-proof-card { display: flex; flex-direction: column; align-items: flex-start; width: min(100%,18rem); margin: clamp(3.5rem,6vw,5rem) 0 auto; padding: clamp(1.5rem,2.5vw,2.4rem); border-radius: 1.25rem; background: var(--night); color: var(--white); box-shadow: 0 1.5rem 3rem rgba(20,22,30,.14); }
main > section[data-region="service-area"] .metro-proof-kicker { color: var(--lime); font: 700 .68rem/1.2 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
main > section[data-region="service-area"] .metro-proof-card strong { margin-top: .8rem; color: var(--lavender); font-size: clamp(4.5rem,8vw,7rem); line-height: .85; letter-spacing: -.08em; }
main > section[data-region="service-area"] .metro-proof-card > span:not(.metro-proof-kicker) { margin-top: .8rem; color: #d0ced8; font: 700 .72rem/1.35 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
main > section[data-region="service-area"] .metro-proof-rule { width: 100%; margin: 2rem 0 1.4rem; border-top: 1px solid rgba(242,242,245,.25); }
main > section[data-region="service-area"] .metro-proof-card p { margin: 0; color: #d0ced8; font-size: 1rem; line-height: 1.5; }
main > section[data-region="service-area"] .metro-rail-foot { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; padding: 1.25rem clamp(1.5rem,3vw,3rem) 0 0; border-top: 1px solid var(--line); color: var(--muted); font: 700 .64rem/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
main > section[data-region="service-area"] .metro-body { min-width: 0; }
main > section[data-region="service-area"] .rich-copy-grid { grid-template-columns: minmax(15rem,.65fr) 1.35fr; }
main > section[data-region="service-area"] .area-chips { display: grid; border: 0; border-top: 1px solid var(--line); }
main > section[data-region="service-area"] .area-chips span {
  position: relative;
  padding: 1.2rem 4rem 1.2rem 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  font-size: .78rem;
}
main > section[data-region="service-area"] .area-chips span::after { content: "✓"; position: absolute; right: .25rem; color: var(--coral); font-size: 1.1rem; }

/* Industries retry: a restrained dark rail keeps the section purposeful without adding competing copy. */
main > section[data-region="industries"] { background: var(--night); color: var(--white); }
main > section[data-region="industries"] .rich-copy-grid { grid-template-columns: minmax(8rem,.2fr) minmax(0,1fr); gap: clamp(3rem,8vw,9rem); align-items: stretch; }
main > section[data-region="industries"] .rich-copy-grid > div:first-child { min-height: 100%; padding: .2rem clamp(1.5rem,3vw,3rem) .2rem 0; border-right: 1px solid rgba(242,242,245,.18); }
main > section[data-region="industries"] .rich-copy-grid > div:first-child .eyebrow { color: var(--coral); writing-mode: vertical-rl; transform: rotate(180deg); }
main > section[data-region="industries"] .section-title { max-width: 20ch; background: none; background-clip: text; -webkit-background-clip: text; color: var(--white); }
main > section[data-region="industries"] .prose-copy { color: #d0ced8; }
main > section[data-region="industries"] .industry-list article { border-color: rgba(242,242,245,.2); }
main > section[data-region="industries"] .industry-list article > span { color: var(--coral); }
main > section[data-region="industries"] .industry-list h3 { color: var(--white); }
main > section[data-region="industries"] .industry-list p, main > section[data-region="industries"] > .shell > .rich-copy-grid > div:nth-child(2) > p:last-child { color: #d0ced8; }

.industries-section { background: var(--night); color: var(--white); }
.industries-section .industries-layout { display: grid; grid-template-columns: minmax(15rem,.34fr) minmax(0,1fr); gap: clamp(3rem,7vw,8rem); align-items: stretch; }
.industries-section .industries-rail { display: flex; flex-direction: column; min-height: 100%; padding: .2rem 0; border-right: 1px solid rgba(242,242,245,.18); }
.industries-section .industries-rail-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-right: clamp(1.5rem,3vw,3rem); }
.industries-section .industries-rail .eyebrow { color: var(--coral); }
.industries-section .industries-index { color: var(--muted); font: 700 .72rem/1 var(--font-mono); letter-spacing: .12em; }
.industries-section .industries-proof-card { display: flex; flex-direction: column; align-items: flex-start; width: min(100%,18rem); margin: clamp(3.5rem,6vw,5rem) 0 auto; padding: clamp(1.5rem,2.5vw,2.4rem); border: 1px solid rgba(242,242,245,.25); border-radius: 1.25rem; background: linear-gradient(145deg,rgba(165,35,43,.2),rgba(165,35,43,.08)); }
.industries-section .industries-proof-kicker { color: var(--lime); font: 700 .68rem/1.2 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.industries-section .industries-proof-card strong { margin-top: .8rem; color: var(--white); font-size: clamp(4.5rem,8vw,7rem); line-height: .85; letter-spacing: -.08em; }
.industries-section .industries-proof-card > span:not(.industries-proof-kicker) { margin-top: .8rem; color: #d0ced8; font: 700 .72rem/1.35 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.industries-section .industries-proof-rule { width: 100%; margin: 2rem 0 1.4rem; border-top: 1px solid rgba(242,242,245,.25); }
.industries-section .industries-proof-card p { margin: 0; color: #d0ced8; font-size: 1rem; line-height: 1.5; }
.industries-section .industries-rail-foot { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; padding: 1.25rem clamp(1.5rem,3vw,3rem) 0 0; border-top: 1px solid rgba(242,242,245,.18); color: var(--muted); font: 700 .64rem/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.industries-section .industries-body { min-width: 0; }
.industries-section .section-title { max-width: 20ch; padding-bottom: .08em; line-height: 1; background: none; background-clip: text; -webkit-background-clip: text; color: var(--white); }
.industries-section .prose-copy, .industries-section .industry-list p, .industries-section .industries-closing { color: #d0ced8; }
.industries-section .industry-list article { border-color: rgba(242,242,245,.2); }
.industries-section .industry-list article > span { color: var(--coral); }
.industries-section .industry-list h3 { color: var(--white); }

/* Industry labels are descriptive enough without sequence numbers. */
.industries-section .industries-index,
.industries-section .industry-list article > span { display: none; }
.industries-section .industry-list article { grid-template-columns: 1fr; }

/* Let the process numbers work as clear visual anchors. */
#process .five-step-grid .step > b {
  align-self: start;
  display: block;
  font-size: clamp(1.75rem,3vw,3.5rem);
  line-height: .9;
  letter-spacing: -.07em;
  /* Align the top of each large numeral with its adjacent step title. */
  transform: translateY(.25em);
}

#search { position: relative; isolation: isolate; overflow: hidden; }
#search::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: linear-gradient(var(--line-light) 1px, transparent 1px), linear-gradient(90deg, var(--line-light) 1px, transparent 1px);
  background-size: 5rem 5rem;
  opacity: .12;
}
#search::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 48rem;
  height: 48rem;
  left: -18rem;
  top: -20rem;
  border: 1px solid rgba(165,35,43,.5);
  border-radius: 50%;
  box-shadow: 0 0 0 8rem rgba(165,35,43,.025), 0 0 0 16rem rgba(165,35,43,.018);
}
#search .telemetry { background: rgba(37,35,35,.8); box-shadow: 0 2rem 7rem rgba(0,0,0,.32); }

#results .big-stat { margin-bottom: 1rem; padding: 2rem; border: 0; border-radius: 1.25rem; }
#results .big-stat:nth-child(1) { background: var(--night); color: var(--white); }
#results .big-stat:nth-child(2) { background: var(--violet); color: var(--night); }
#results .big-stat:nth-child(3) { background: var(--brand-red); color: var(--night); }
#results .big-stat span { color: inherit; opacity: .76; }

#work { background: var(--paper); }
#work .work-intro { max-width: 80rem; }
#work .work-intro .section-title { max-width: 22ch; }
#work .visual-work-grid { gap: 1.4rem; border: 0; }
#work .visual-work-card {
  position: relative;
  min-height: 34rem;
  overflow: hidden;
  padding: 2rem;
  border: 0;
  border-radius: 1.5rem;
  color: var(--white);
  background: radial-gradient(circle at 70% 25%, rgba(241,220,213,.28), transparent 24%), linear-gradient(145deg, #54282b, var(--night) 78%);
  box-shadow: 0 1.5rem 4rem rgba(23,23,23,.16);
}
#work .visual-work-card::before {
  content: "";
  position: absolute;
  width: 27rem;
  height: 27rem;
  right: -10rem;
  top: -11rem;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 50%;
  box-shadow: 0 0 0 4rem rgba(255,255,255,.035), 0 0 0 8rem rgba(255,255,255,.025);
}
#work .visual-work-card::after { position: absolute; right: 1.4rem; top: .65rem; color: rgba(255,255,255,.16); font-size: clamp(5.5rem, 8vw, 9rem); font-weight: 900; letter-spacing: -.09em; line-height: 1; }
#work .visual-work-card:nth-child(1)::after { content: "ICL"; }
#work .visual-work-card:nth-child(2)::after { content: "PW"; }
#work .visual-work-card:nth-child(3)::after { content: "AM"; }
#work .visual-work-card img { position: absolute; z-index: 1; left: 2rem; right: 2rem; bottom: 8rem; width: calc(100% - 4rem); border-radius: .75rem; filter: saturate(.6) contrast(1.08); box-shadow: 0 1rem 3rem rgba(0,0,0,.35); }
#work .visual-work-card .work-meta, #work .visual-work-card h3 { position: absolute; z-index: 2; left: 2rem; right: 2rem; }
#work .visual-work-card .work-meta { bottom: 5.8rem; color: var(--lime); }
#work .visual-work-card h3 { bottom: 1.8rem; margin: 0; color: var(--white); }

main > section[data-region="industries"] .industry-list article { position: relative; grid-template-columns: minmax(0, 1fr); padding: 2rem 4rem 2rem 0; }
main > section[data-region="industries"] .industry-list article::after { content: "✓"; position: absolute; right: .25rem; top: 2rem; color: var(--coral); font: 700 1.2rem/1 var(--font-mono); }
main > section[data-region="industries"] .industry-list h3 { font-size: clamp(1.7rem, 2.2vw, 2.4rem); }

#process { background: var(--mist); }
#process .process-intro { max-width: 74rem; }
#process .process-intro .section-title { max-width: 17ch; }
#process .five-step-grid { display: block; border: 0; border-top: 1px solid var(--ink); }
#process .five-step-grid .step {
  display: grid;
  grid-template-columns: 5rem minmax(13rem,.7fr) 1fr;
  gap: 2rem;
  min-height: 0;
  padding: 2.25rem 0;
  border: 0;
  border-bottom: 1px solid var(--ink);
}
#process .step h3 { margin: 0; font-size: clamp(1.9rem, 2.5vw, 2.7rem); }
#process .step p {
  align-self: start;
  max-width: 46rem;
  margin: 0;
  /* The smaller typeface sits optically high beside the display-size heading. */
  transform: translateY(.45rem);
}

/* Richmond Metro rail: class-scoped so later page edits cannot break it by changing section order. */
.metro-grid { display: grid; grid-template-columns: minmax(15rem,.34fr) minmax(0,1fr); gap: clamp(3rem,7vw,8rem); align-items: stretch; }
.metro-rail { display: flex; flex-direction: column; min-height: 100%; padding: .2rem 0; border-right: 1px solid var(--line); }
.metro-rail-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-right: clamp(1.5rem,3vw,3rem); }
.metro-index { color: var(--muted); font: 700 .72rem/1 var(--font-mono); letter-spacing: .12em; }
.metro-proof-card { display: flex; flex-direction: column; align-items: flex-start; width: min(100%,18rem); margin: clamp(3.5rem,6vw,5rem) 0 auto; padding: clamp(1.5rem,2.5vw,2.4rem); border-radius: 1.25rem; background: var(--night); color: var(--white); box-shadow: 0 1.5rem 3rem rgba(20,22,30,.14); }
.metro-proof-kicker { color: var(--lime); font: 700 .68rem/1.2 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.metro-proof-card strong { margin-top: .8rem; color: var(--lavender); font-size: clamp(4.5rem,8vw,7rem); line-height: .85; letter-spacing: -.08em; }
.metro-proof-card > span:not(.metro-proof-kicker) { margin-top: .8rem; color: #d0ced8; font: 700 .72rem/1.35 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.metro-proof-rule { width: 100%; margin: 2rem 0 1.4rem; border-top: 1px solid rgba(242,242,245,.25); }
.metro-proof-card p { margin: 0; color: #d0ced8; font-size: 1rem; line-height: 1.5; }
.metro-rail-foot { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; padding: 1.25rem clamp(1.5rem,3vw,3rem) 0 0; border-top: 1px solid var(--line); color: var(--muted); font: 700 .64rem/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.metro-body { min-width: 0; }

@media (max-width: 980px) {
  main > section[data-region="service-area"] .rich-copy-grid { grid-template-columns: 1fr; }
  main > section[data-region="service-area"] .metro-grid { grid-template-columns: 1fr; }
  main > section[data-region="service-area"] .metro-rail { min-height: auto; padding-bottom: 2rem; border-right: 0; border-bottom: 1px solid var(--line); }
  main > section[data-region="service-area"] .metro-proof-card { margin-top: 2.5rem; }
  main > section[data-region="industries"] .rich-copy-grid { grid-template-columns: 1fr; }
  main > section[data-region="industries"] .rich-copy-grid > div:first-child { min-height: auto; padding: 0 0 1.5rem; border-right: 0; border-bottom: 1px solid rgba(242,242,245,.18); }
  main > section[data-region="industries"] .rich-copy-grid > div:first-child .eyebrow { writing-mode: horizontal-tb; transform: none; }
  .industries-section .industries-layout { grid-template-columns: 1fr; }
  .industries-section .industries-rail { min-height: auto; padding-bottom: 2rem; border-right: 0; border-bottom: 1px solid rgba(242,242,245,.18); }
  .industries-section .industries-proof-card { margin-top: 2.5rem; }
  #why-garza .trust-grid { grid-template-columns: repeat(2,1fr); }
  .vertical-section-label { writing-mode: horizontal-tb; }
  #work .visual-work-card { min-height: 29rem; }
  #process .five-step-grid .step { grid-template-columns: 3.5rem 1fr; }
  #process .step p { grid-column: 2; }
  .metro-grid { grid-template-columns: 1fr; }
  .metro-rail { min-height: auto; padding-bottom: 2rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .metro-proof-card { margin-top: 2.5rem; }
}

@media (max-width: 640px) {
  #services .service-grid, #why-garza .trust-grid { grid-template-columns: 1fr; }
  #services .service { min-height: 20rem; }
  #work .visual-work-card { min-height: 25rem; }
  #work .visual-work-card img { bottom: 7.5rem; }
  #process .five-step-grid .step { grid-template-columns: 2.5rem 1fr; gap: 1rem; }
  #process .step p { grid-column: 1 / -1; transform: none; }
}

/* v73 contextual case-study links */
.client-case-link { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.client-case-link:hover, .client-case-link:focus-visible { text-decoration-thickness: 2px; }

/* Keep the reordered regions usable at narrow viewports. */
.split-focus-panel, .split-focus-inner { min-width: 0; }
.split-focus h2 { overflow-wrap: anywhere; }
@media (max-width: 980px) {
  #why-garza .why-garza-grid { grid-template-columns: minmax(0, 1fr); }
  #why-garza .why-garza-rail { border-right: 0; padding-bottom: 2rem; }
}
@media (max-width: 640px) {
  .split-focus { grid-template-columns: minmax(0, 1fr); }
  .split-focus h2 { font-size: clamp(2.5rem, 12vw, 3.1rem); }
}

/* GWD brand palette: red actions, warm neutral surfaces, legible dark accents. */
.night, .hero:not(.hero-light), #why-garza, .industries-section, .closing, .site-footer, .split-focus-search, .telemetry {
  --coral: var(--accent-on-dark);
}
.btn-primary:hover, .btn-primary:focus-visible {
  background: var(--brand-red-hover);
  border-color: var(--brand-red-hover);
}
#why-garza .trust-item:nth-child(3), #results .big-stat:nth-child(3) {
  color: var(--white);
}
.hero-light .ai-label { color: var(--brand-red); }
#services .service:hover, #services .service:focus-visible { --coral: var(--accent-on-dark); }
#work .visual-work-card { --coral: var(--accent-on-dark); }

/* Keep portfolio screenshots fully legible and make hover state a warm brand cue. */
#work .visual-work-card {
  box-shadow: inset 0 0 0 100vmax rgba(165, 35, 43, 0), 0 1.5rem 4rem rgba(23, 23, 23, .16);
  transition: transform .25s ease, box-shadow .45s ease;
}
#work .visual-work-card:hover,
#work .visual-work-card:focus-visible {
  transform: translateY(-.35rem);
  box-shadow: inset 0 0 0 100vmax rgba(165, 35, 43, .30), 0 1.5rem 4rem rgba(83, 25, 29, .34);
}
#work .visual-work-card img {
  left: 4rem;
  right: 4rem;
  bottom: 9rem;
  width: calc(100% - 8rem);
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}
@media (max-width: 640px) {
  #work .visual-work-card img {
    left: 2.5rem;
    right: 2.5rem;
    bottom: 8.5rem;
    width: calc(100% - 5rem);
  }
}

.hero-light .source-title em { color: var(--brand-red); }

.working-placeholder{min-height:210px;margin:2rem 0;padding:2rem;border:1px dashed #a8847c;background:#eaded6;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;text-align:center;color:#723039}.working-placeholder>span{font:700 1.7rem/1.2 Inter,sans-serif}.working-placeholder figcaption{font:400 .9rem/1.5 Inter,sans-serif}

.industry-list article{grid-template-columns:1fr;}

.working-placeholder.stock-working{padding:0;display:block;background:transparent;border:0;min-height:0}.stock-working img{display:block;width:100%;height:auto;border-radius:.65rem}.stock-working figcaption{padding:.65rem 0;color:#625c56}

/* Phone prompt: 1em at 1512 CSS pixels; gently scales on larger screens. */
.hero-copy .hero-footer-proof > p { font-size: clamp(1em, calc(1em + .5vw - 7.56px), 1.25em); max-width: none; }

/* Readable trust statements and content-sized answer animation. */
.hero .hero-proof { font-family: Inter, sans-serif; font-size: 1rem; line-height: 1.5; font-weight: 500; text-transform: none; letter-spacing: normal; gap: 1.25rem; }
.hero .hero-proof strong { font-size: clamp(1.125rem, 1.3vw, 1.25rem); font-weight: 750; }
.hero .hero-proof > span { display: flex; flex-wrap: wrap; gap: 0 .35em; align-items: baseline; }
.hero .answer-stage .ai-copy { display: grid; height: auto; min-height: 0; overflow: visible; }
.hero .answer-stage .ai-answer { min-height: 0; }
.hero .answer-stage.is-animated .answer-source-copy { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; visibility: hidden; grid-area: 1 / 1; font-size: 1.1em; font-weight: 300; }
.hero .answer-stage.is-animated .answer-typed-copy { grid-area: 1 / 1; }
.hero .hero-layout { height: auto; min-height: calc(100svh - 8.5rem); }
.hero .hero-grid { height: auto; overflow: visible; }

/* Center the content within the hero while allowing taller content to expand. */
.hero .hero-layout { display: grid; align-content: center; padding-block: clamp(2rem, 4vh, 4rem); }
@media (max-width: 980px) {
  .hero .hero-layout { min-height: auto; padding-block: 0; }
}

/* Keep the complete question readable at every viewport width. */
.hero .answer-card { width: 100%; }
.hero .answer-stage .query-bar { height: auto; min-height: 3.7rem; overflow: visible; }
.hero .answer-stage .query-bar [data-query] { flex: 1; white-space: normal; overflow: visible; overflow-wrap: anywhere; line-height: 1.4; }
.hero .query-icon, .hero .query-bar .cursor { flex-shrink: 0; }
@media (min-width: 981px) { .hero .answer-card { transform: none; } }

/* Homepage visual polish: preserve editorial content and sequence. */
.v73-content .section-pad { padding-block: clamp(3rem, 5vw, 5rem); }
.v73-content .section-title { font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1.06; letter-spacing: -.035em; }
.v73-content .hero .display { letter-spacing: -.035em; }
.v73-content .btn { font-family: Inter, sans-serif; font-size: clamp(.95rem, 1vw, 1.1rem); line-height: 1.3; letter-spacing: .035em; }
.v73-content .text-link { font-family: Inter, sans-serif; font-size: .95rem; letter-spacing: .025em; line-height: 1.5; }
.v73-content #work .visual-work-card { display: flex; flex-direction: column; min-height: 0; padding: 1.5rem; gap: 1rem; }
.v73-content #work .visual-work-card img { position: relative; inset: auto; display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: contain; margin: 1rem 0; filter: none; box-shadow: none; }
.v73-content #work .visual-work-card .work-meta, .v73-content #work .visual-work-card h3 { position: relative; inset: auto; margin: 0; z-index: 2; }
.v73-content #work .visual-work-card h3 { font-size: clamp(1.4rem, 2vw, 2rem); line-height: 1.15; letter-spacing: -.025em; }
.v73-content #work .visual-work-card::after { opacity: .3; }
.v73-content #why-garza .why-proof-card { margin-top: 0; }
.v73-content #why-garza .trust-grid { margin-top: 2rem; }
.v73-content #why-garza .trust-item { min-height: 0; }
.v73-content .quote-panel blockquote { font-size: clamp(1.65rem, 2.5vw, 2.75rem); line-height: 1.3; letter-spacing: -.02em; margin-block: 1.5rem; }
@media (max-width: 640px) { .v73-content .section-pad { padding-block: 2.75rem; } }

/* Center the shared footer on the same measure as the closing CTA. */
.site-footer > .shell { width: min(calc(100% - 3rem), 66rem); margin-inline: auto; }
.site-footer .footer-grid-full { grid-template-columns: minmax(0,1.3fr) repeat(3,minmax(0,1fr)); gap: clamp(1.5rem,3vw,3rem); }
.site-footer .footer-grid-full > div { min-width: 0; }
@media (max-width: 980px) { .site-footer .footer-grid-full { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) { .site-footer .footer-grid-full { grid-template-columns: minmax(0,1fr); } .site-footer .footer-bottom { flex-wrap: wrap; gap: 1rem; } }
/* Service imagery remains Media-managed; text stays on a readable cream surface. */
.v73-content #services .service { overflow: hidden; min-height: 0; padding-top: 0; }
.v73-content #services .service::before, .v73-content #services .service::after { display: none; }
.v73-content #services .service-visual { position: relative; display: block; height: clamp(10rem,15vw,15rem); margin: 0 -2rem 1.25rem; overflow: hidden; flex-shrink: 0; }
.v73-content #services .service-visual img { display:block; width:100%; height:100%; object-fit:cover; transform:scale(1); transition:transform .4s ease; }
.v73-content #services .service-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom,transparent 45%,var(--paper) 100%); pointer-events:none; }
.v73-content #services .service-visual::before { content:""; position:absolute; inset:0; z-index:1; background:rgba(165,35,43,.22); opacity:0; transition:opacity .4s ease; pointer-events:none; }
.v73-content #services .service h3 { margin-top:0; }
.v73-content #services .service-cta { transition:transform .35s ease; }
.v73-content #services .service:is(:hover,:focus-visible) .service-visual img { transform:scale(1.045); }
.v73-content #services .service:is(:hover,:focus-visible) .service-visual::before { opacity:1; }
.v73-content #services .service:is(:hover,:focus-visible) .service-cta { transform:translateX(4px); }
@media(prefers-reduced-motion:reduce) { .v73-content #services .service-visual img,.v73-content #services .service-cta { transition:none; transform:none!important; } }
/* Selected service-card design: full-image dark overlay. */
.v73-content #services .service { background:#171717; color:#fff; position:relative; display:flex; flex-direction:column; justify-content:flex-end; padding:2rem; min-height:30rem; border-radius:1.5rem; }
.v73-content #services .service .service-visual { position:absolute; inset:0; height:100%; margin:0; }
.v73-content #services .service .service-visual::after { background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.88) 68%); }
.v73-content #services .service h3,.v73-content #services .service p,.v73-content #services .service .service-cta { position:relative; z-index:2; color:#fff; }
/* Customer-focused sidebar headline. */
.industries-section .industries-proof-kicker:empty { display:none; }
.industries-section .industries-proof-card strong,
.industries-section .industries-proof-card > span:not(.industries-proof-kicker) { font-family:Inter,sans-serif; font-size:clamp(1.45rem,1.9vw,1.85rem); font-weight:750; line-height:1.2; letter-spacing:-.025em; text-transform:none; color:var(--white); margin-top:0; }
.industries-section .industries-proof-card > span:not(.industries-proof-kicker) { margin-top:.8rem; }
/* Reassurance sidebar and supporting working-session image. */
#why-garza .why-proof-kicker:empty { display:none; }
#why-garza .why-proof-card strong,
#why-garza .why-proof-card > span:not(.why-proof-kicker) { font-family:Inter,sans-serif; font-size:clamp(1.45rem,1.9vw,1.85rem); font-weight:750; line-height:1.2; letter-spacing:-.025em; text-transform:none; color:var(--white); margin-top:0; }
#why-garza .why-proof-card > span:not(.why-proof-kicker) { margin-top:.8rem; }
#why-garza .stock-working img { max-height:24rem; aspect-ratio:16/9; object-fit:cover; object-position:center 40%; }
#why-garza .stock-working figcaption { color:#c4bec0; }
#why-garza .prose-copy a { color:#fff; text-decoration:underline; text-decoration-color:#d99094; text-underline-offset:.22em; text-decoration-thickness:2px; font-weight:650; }
#why-garza .prose-copy a:hover,#why-garza .prose-copy a:focus-visible { color:#f2b8bb; }
/* Sidebar cards follow the reader within their own desktop section. */
@media (min-width:981px) {
  #why-garza .why-proof-card,
  .industries-section .industries-proof-card {
    position:sticky;
    top:calc(var(--drupal-displace-offset-top, 0px) + 2rem);
    align-self:flex-start;
    margin-top:0;
    margin-bottom:2rem;
  }
  #why-garza .why-garza-rail-foot,
  .industries-section .industries-rail-foot { margin-top:auto; }
}
@media (min-width:981px) {
  .industries-section, .industries-section .industries-layout, .industries-section .industries-rail { overflow:visible; }
  .industries-section .industries-rail { align-self:stretch; height:auto; }
}
@media (min-width:981px) {
 .industries-section .industries-rail { position:sticky; top:calc(var(--drupal-displace-offset-top, 0px) + 2rem); align-self:start; min-height:0; }
 .industries-section .industries-proof-card { position:static; }
}
/* Keep the reassurance card and its footer labels in one sticky unit. */
@media (min-width:981px) {
 #why-garza .why-garza-rail { position:sticky; top:calc(var(--drupal-displace-offset-top, 0px) + 2rem); align-self:start; min-height:0; height:auto; }
 #why-garza .why-proof-card { position:static; margin-bottom:2rem; flex-shrink:0; }
 #why-garza .why-garza-rail-foot { margin-top:0; flex-shrink:0; }
}
@media (min-width:981px) {
 [data-region="service-area"] .metro-rail { position:sticky; top:calc(var(--drupal-displace-offset-top, 0px) + 2rem); align-self:start; min-height:0; height:auto; }
 [data-region="service-area"] .metro-proof-card { position:static; margin-top:0; margin-bottom:2rem; flex-shrink:0; }
 [data-region="service-area"] .metro-rail-foot { margin-top:0; flex-shrink:0; }
}
@media (min-width:981px) {
 main > section[data-region="service-area"] .metro-rail { position:sticky; top:calc(var(--drupal-displace-offset-top, 0px) + 2rem); align-self:start; min-height:0; height:auto; }
 main > section[data-region="service-area"] .metro-proof-card { margin:0 0 2rem; }
}

/* Editorial body links: visible emphasis, underline on interaction. */
main :is(p, li, .prose-copy, .prose-block, .svc-detail, .image-content) a:not(.btn):not(.button):not(.service):not(.svc-detail-link) {
  font-weight: 700;
  text-decoration: none;
  text-underline-offset: .2em;
  text-decoration-thickness: .08em;
}
main :is(p, li, .prose-copy, .prose-block, .svc-detail, .image-content) a:not(.btn):not(.button):not(.service):not(.svc-detail-link):is(:hover, :focus-visible) {
  text-decoration-line: underline;
}

/* Selected work: explicit spacing independent of utility generation. */
#work .work-intro {display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;}
#work .work-intro .section-title {margin:0;max-width:24ch;line-height:1.08;}
#work .work-intro .text-link {display:inline-flex;margin:0;padding-block:.25rem;line-height:1.5;}
#work .visual-work-grid {margin-top:2rem;gap:1.5rem;align-items:stretch;}
#work .visual-work-card {gap:0;}
#work .visual-work-card .work-meta {margin-top:1.25rem;margin-bottom:.6rem;line-height:1.5;}
#work .visual-work-card h3 {margin:0;line-height:1.15;}
@media(max-width:640px){#work .work-intro{gap:1rem}#work .visual-work-grid{margin-top:1.5rem;gap:1.25rem}}

/* Testimonial: comfortable measure and a clear attribution row. */
section[data-region="testimonial"].quote-panel {padding-block:clamp(3rem,5vw,5rem);}
section[data-region="testimonial"] > .shell {width:min(calc(100% - 3rem),72rem);margin-inline:auto;}
section[data-region="testimonial"] .quote-mark {margin:0 0 1rem;font-size:4rem;line-height:.8;}
section[data-region="testimonial"] blockquote {margin:0;max-width:46ch;font-size:clamp(1.5rem,2.35vw,2.5rem);line-height:1.45;letter-spacing:-.015em;}
section[data-region="testimonial"] .quote-attribution {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem 2rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(32,32,32,.18);}
section[data-region="testimonial"] .quote-attribution p {margin:0;line-height:1.6;}
section[data-region="testimonial"] .quote-attribution a {font-size:.95rem;line-height:1.5;}
@media(max-width:640px){section[data-region="testimonial"] .quote-attribution{flex-direction:column;align-items:flex-start;margin-top:1.5rem;padding-top:1.25rem;}}

/* Prominent, responsive homepage trust line. */
.hero .hero-proof { font-size:clamp(1.125rem,1.3vw,1.375rem); gap:1rem 1.5rem; }
.hero .hero-proof strong { font-size:1.15em; }
@media(max-width:600px){ .hero .hero-proof { grid-template-columns:1fr; } }

.site-footer > .footer-grid-full { text-align: center; }

/* Keep compact dropdowns directly beneath their triggering menu item. */
@media (min-width: 981px) {
  .desktop-nav .mega-item:has(> .mega-panel-simple) { position: relative; }
}
@media (min-width: 981px) {
  /* Let the About panel extend slightly past its trigger. This gives the
   * pointer a forgiving vertical path into the panel instead of making the
   * trigger sit on its right edge. */
  .desktop-nav .mega-item:last-child > .mega-panel-simple { left: auto; right: -2rem; transform: translateY(-.55rem); }
  .desktop-nav .mega-item:last-child:is(:hover, .is-open) > .mega-panel-simple { transform: translateY(0); }
}
