/* GEOTAX V59 FINAL MAX — Design & UX PC/Mobile
   Scope: UX/accessibility/conversion only. No fiscal, SEO, GEO or LLM content changes. */
html { scroll-behavior: smooth; overflow-x: hidden; }
body { overflow-x: hidden; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
main { display: block; }
.skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 100000;
  transform: translateY(-160%);
  background: #0F151F;
  color: #fff !important;
  padding: 10px 14px;
  border-radius: 999px;
  text-decoration: none;
  font: 700 14px/1.2 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  box-shadow: 0 12px 30px rgba(0,0,0,.25);
}
.skip-link:focus { transform: translateY(0); outline: 3px solid #CBB98E; outline-offset: 3px; }
:focus-visible { outline: 3px solid #CBB98E; outline-offset: 3px; border-radius: 6px; }
img, svg, video, canvas, iframe { max-width: 100%; height: auto; }
[style*="min-width"], [style*="width"] { max-width: 100%; }
.ux-hero-cta, .ux-consultation-strip {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.ux-hero-cta a, .ux-consultation-strip a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 13px 20px;
  border-radius: 999px;
  background: var(--accent-gold, var(--gold, #CBB98E));
  color: var(--dark-primary, var(--dark, #1A2233)) !important;
  font-weight: 800;
  text-decoration: none !important;
  box-shadow: 0 12px 30px rgba(15,21,31,.18);
}
.ux-hero-cta a:hover, .ux-consultation-strip a:hover { filter: brightness(1.04); transform: translateY(-1px); }
.ux-consultation-strip {
  margin: 18px auto 0;
  padding: 16px;
  max-width: min(1120px, calc(100% - 32px));
  border: 1px solid rgba(203,185,142,.35);
  background: rgba(246,242,233,.78);
  border-radius: 18px;
  justify-content: space-between;
}
.ux-consultation-strip span { color: var(--dark, #1A2233); font-weight: 600; }
.sticky-cta-mobile {
  display: none;
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: calc(10px + env(safe-area-inset-bottom));
  z-index: 99990;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #CBB98E, #E2D2A8);
  color: #0F151F !important;
  font: 800 14px/1.2 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-decoration: none !important;
  box-shadow: 0 -10px 30px rgba(0,0,0,.22);
  letter-spacing: .01em;
  padding: 14px 18px;
}
.sticky-cta-mobile:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
@media (max-width: 900px) {
  body { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  .wrap, .container, .page-wrap, .content, .article, .section, .hero, .hero-inner, .grid, .cards, .two-col, .columns {
    max-width: 100%;
  }
  .section { padding-left: max(18px, env(safe-area-inset-left)); padding-right: max(18px, env(safe-area-inset-right)); }
  h1 { font-size: clamp(2.05rem, 10.5vw, 3.2rem); line-height: 1.05; }
  h2 { font-size: clamp(1.55rem, 7vw, 2.35rem); line-height: 1.12; }
  h3 { font-size: clamp(1.2rem, 5vw, 1.55rem); line-height: 1.18; }
  p, li { font-size: max(16px, 1rem); }
  .navlinks, .nav-menu, nav ul { gap: 12px; }
  a, button, input, select, textarea, .btn, [role="button"] { min-height: 44px; }
  table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .ux-hero-cta, .ux-consultation-strip { display: flex; flex-direction: column; align-items: stretch; text-align: center; }
  .ux-hero-cta a, .ux-consultation-strip a { width: 100%; }
  .sticky-cta-mobile { display: flex; }
}
@media (max-width: 480px) {
  .section { padding-top: 52px; padding-bottom: 52px; }
  .ux-consultation-strip { margin-left: 14px; margin-right: 14px; max-width: calc(100% - 28px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
