/* ============================================
   PriceMyCity.com — Design System
   Trust (teal-green) + Optimism (warm amber)
   Mobile-first, WCAG 2.2 AA compliant
   ============================================ */

/* --- CSS Custom Properties --- */
:root {
  /* Primary: Rich teal-green (trust, stability, fresh starts) */
  --accent: #1A7A6D;
  --accent-dark: #145F54;
  --accent-light: #E6F3F0;
  --accent-lighter: #F2F9F7;

  /* Warm accent: Golden amber (optimism, financial warmth) */
  --warm: #D4922A;
  --warm-dark: #B87A1F;
  --warm-light: #FDF3E3;

  /* Neutrals */
  --cream: #FAFAF7;
  --warm-gray: #F4F3EF;
  --border: #E0DED9;
  --border-light: #EDEBE7;

  /* Text */
  --charcoal: #1A1A1A;
  --charcoal-mid: #3D3D3D;
  --charcoal-light: #6B6B6B;
  --charcoal-muted: #999999;
  --white: #FFFFFF;

  /* Semantic */
  --success: #16A34A;
  --warning: #D97706;
  --error: #DC2626;
  --info: #2563EB;

  /* Spacing */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;

  /* Typography */
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;

  /* Borders */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 24px;
  --radius-pill: 50px;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 12px 36px rgba(0, 0, 0, 0.12);

  /* Layout */
  --max-width: 1140px;
  --max-width-narrow: 800px;
}

/* StateFace: US state outline icons by ProPublica (MIT license) */
@font-face {
  font-family: 'StateFace';
  src: url(data:font/woff;base64,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) format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

.stateface {
  font-family: 'StateFace', sans-serif;
  font-style: normal;
  font-weight: normal;
  speak: none;
  color: var(--accent);
}


/* --- Reset & Base --- */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.7;
  color: var(--charcoal);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--accent-dark);
}


/* --- Accessibility --- */

.skip-link {
  position: absolute;
  top: -100%;
  left: 0;
  background: var(--accent);
  color: var(--white);
  padding: 0.75rem 1.5rem;
  z-index: 1000;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 var(--radius-sm) 0;
}

.skip-link:focus {
  top: 0;
}

:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

:focus:not(:focus-visible) {
  outline: none;
}


/* --- Typography --- */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.25;
  color: var(--charcoal);
}

h1 {
  font-size: 2.25rem;
  letter-spacing: -0.02em;
}

h2 {
  font-size: 1.75rem;
  letter-spacing: -0.01em;
}

h3 {
  font-size: 1.35rem;
}

h4 {
  font-size: 1.125rem;
  font-family: var(--font-body);
  font-weight: 600;
}

p {
  margin-bottom: var(--space-md);
}

p:last-child {
  margin-bottom: 0;
}

.accent-text {
  color: var(--accent);
}

.warm-text {
  color: var(--warm);
}

strong {
  font-weight: 600;
}

.text-sm {
  font-size: 0.875rem;
}

.text-muted {
  color: var(--charcoal-light);
}


/* --- Layout --- */

.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-lg);
}

.container-narrow {
  max-width: var(--max-width-narrow);
  margin: 0 auto;
  padding: 0 var(--space-lg);
}

section {
  padding: var(--space-3xl) 0;
}


/* --- Navigation --- */

.site-header {
  background: var(--white);
  border-bottom: 1px solid var(--border-light);
  position: sticky;
  top: 0;
  z-index: 100;
}

.main-nav {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: var(--space-md) var(--space-lg);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.logo {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.site-logo {
  font-family: 'Outfit', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
}

.site-logo .price { color: #1A6B5A; }
.site-logo .mycity { color: #1A1A1A; }

.nav-links {
  display: flex;
  list-style: none;
  gap: var(--space-xl);
  align-items: center;
}

.nav-links a {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--charcoal-mid);
  text-decoration: none;
  padding: var(--space-xs) 0;
  transition: color 0.2s ease;
}

.nav-links a:hover {
  color: var(--accent);
}

.nav-cta {
  background: var(--accent) !important;
  color: var(--white) !important;
  padding: 0.5rem 1.25rem !important;
  border-radius: var(--radius-pill);
  font-weight: 600 !important;
  transition: background 0.2s ease !important;
}

.nav-cta:hover {
  background: var(--accent-dark) !important;
}

.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: var(--space-sm);
  min-width: 24px;
  min-height: 24px;
}

.nav-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--charcoal);
  border-radius: 2px;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.nav-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.nav-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}


/* --- Buttons --- */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: 0.75rem 1.75rem;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: var(--radius-pill);
  cursor: pointer;
  transition: all 0.2s ease;
  min-height: 44px;
}

.btn-primary {
  background: var(--accent);
  color: var(--white);
}

.btn-primary:hover {
  background: var(--accent-dark);
  color: var(--white);
}

.btn-warm {
  background: var(--warm);
  color: var(--white);
}

.btn-warm:hover {
  background: var(--warm-dark);
  color: var(--white);
}

.btn-outline {
  background: transparent;
  color: var(--accent);
  border-color: var(--accent);
}

.btn-outline:hover {
  background: var(--accent);
  color: var(--white);
}

.btn-lg {
  padding: 1rem 2.25rem;
  font-size: 1.1rem;
}

.btn-sm {
  padding: 0.5rem 1.25rem;
  font-size: 0.875rem;
}


/* --- Cards --- */

.card {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.2s ease, transform 0.15s ease;
}

.card:hover {
  box-shadow: var(--shadow-md);
}

.card-accent {
  border-top: 3px solid var(--accent);
}

.card-warm {
  border-top: 3px solid var(--warm);
}


/* --- Forms & Inputs --- */

label {
  display: block;
  font-weight: 500;
  margin-bottom: var(--space-xs);
  font-size: 0.95rem;
  color: var(--charcoal-mid);
}

input[type="text"],
input[type="number"],
input[type="email"],
select,
textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--charcoal);
  background: var(--white);
  border: 2px solid var(--border);
  border-radius: var(--radius-sm);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  min-height: 44px;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(26, 122, 109, 0.15);
  outline: none;
}

input::placeholder {
  color: var(--charcoal-muted);
}

.input-group {
  margin-bottom: var(--space-lg);
}

.input-prefix {
  position: relative;
}

.input-prefix input {
  padding-left: 2rem;
}

.input-prefix::before {
  content: '$';
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--charcoal-light);
  font-weight: 500;
  pointer-events: none;
}

.form-error {
  color: var(--error);
  font-size: 0.875rem;
  margin-top: var(--space-xs);
}

/* Autocomplete dropdown */
.autocomplete-wrapper {
  position: relative;
}

.autocomplete-list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--white);
  border: 2px solid var(--border);
  border-top: none;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  max-height: 240px;
  overflow-y: auto;
  z-index: 50;
  display: none;
  box-shadow: var(--shadow-md);
}

.autocomplete-list.active {
  display: block;
}

.autocomplete-item {
  padding: 0.6rem 1rem;
  cursor: pointer;
  font-size: 0.95rem;
  border-bottom: 1px solid var(--border-light);
  transition: background 0.15s ease;
}

.autocomplete-item:hover,
.autocomplete-item.highlighted {
  background: var(--accent-light);
}

.autocomplete-item:last-child {
  border-bottom: none;
}

.autocomplete-item .location-type {
  font-size: 0.8rem;
  color: var(--charcoal-muted);
  margin-left: var(--space-sm);
}


/* --- Hero Section --- */

.hero {
  background: linear-gradient(170deg, var(--accent-lighter) 0%, var(--white) 60%);
  padding: var(--space-3xl) 0 var(--space-2xl);
  text-align: center;
}

.hero h1 {
  font-size: 2.5rem;
  margin-bottom: var(--space-md);
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.hero .subtitle {
  font-size: 1.15rem;
  color: var(--charcoal-light);
  max-width: 580px;
  margin: 0 auto var(--space-2xl);
  line-height: 1.6;
}


/* --- Calculator Section --- */

.calculator-section {
  padding: 0 0 var(--space-3xl);
}

.calculator-card {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-xl);
  padding: var(--space-2xl);
  box-shadow: var(--shadow-lg);
  max-width: 680px;
  margin: -2rem auto 0;
  position: relative;
  z-index: 10;
}

.calculator-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  margin-bottom: var(--space-lg);
}

.calculator-full {
  grid-column: 1 / -1;
}

.calculator-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-sm) 0;
}

.calculator-divider .arrow {
  width: 36px;
  height: 36px;
  background: var(--accent-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent);
  font-size: 1.1rem;
}


/* --- Results Section --- */

.results-section {
  display: none;
  margin-top: var(--space-xl);
  padding-top: var(--space-xl);
  border-top: 2px solid var(--border-light);
}

.results-section.active {
  display: block;
}

.results-headline {
  text-align: center;
  margin-bottom: var(--space-xl);
}

.results-headline .salary-amount {
  font-family: var(--font-display);
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--accent);
  display: block;
  margin: var(--space-sm) 0;
}

.results-headline .salary-context {
  color: var(--charcoal-light);
  font-size: 0.95rem;
}

.results-comparison {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-lg);
  margin-bottom: var(--space-xl);
}

.comparison-column {
  background: var(--warm-gray);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
}

.comparison-column h3 {
  font-size: 1rem;
  font-family: var(--font-body);
  font-weight: 600;
  color: var(--charcoal-light);
  margin-bottom: var(--space-md);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.75rem;
}

.comparison-column .location-name {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: var(--space-md);
}

.budget-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-sm) 0;
  border-bottom: 1px solid var(--border-light);
  font-size: 0.9rem;
}

.budget-line:last-child {
  border-bottom: none;
}

.budget-total {
  font-weight: 600;
  padding-top: var(--space-sm);
  margin-top: var(--space-xs);
  border-top: 2px solid var(--border);
  border-bottom: none;
}

.budget-line .category {
  color: var(--charcoal-mid);
}

.budget-line .amount {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* Cost arrows */
.cost-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.7rem 0;
  border-bottom: 1px solid var(--border-light);
}

.cost-row:last-child {
  border-bottom: none;
}

.cost-row .cost-label {
  font-size: 0.95rem;
  color: var(--charcoal);
}

.cost-row .cost-value {
  font-size: 1.2rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.cost-row .cost-value.cheaper { color: #1D9E75; }
.cost-row .cost-value.pricier { color: #E24B4A; }
.cost-row .cost-value.neutral { color: var(--charcoal-light); font-size: 0.95rem; font-weight: 400; }

/* --- Homepage Comparison Results --- */

.compare-headline {
  text-align: center;
  padding: var(--space-lg) 0;
}

.compare-headline-pct {
  font-family: var(--font-display);
  font-size: 3rem;
  font-weight: 800;
  display: block;
  margin-bottom: var(--space-xs);
}

.compare-headline-pct.pricier { color: #E24B4A; }
.compare-headline-pct.cheaper { color: #1D9E75; }
.compare-headline-pct::after { content: ' more expensive'; font-size: 0; }

.compare-headline-text {
  font-size: 1.05rem;
  color: var(--charcoal-mid);
  max-width: 500px;
  margin: 0 auto;
}

.compare-categories-wrap {
  max-width: 560px;
  margin: 0 auto;
}

.compare-categories-label {
  font-size: 0.85rem;
  color: var(--charcoal-light);
  margin-bottom: var(--space-md);
}

.compare-cat-row {
  padding: var(--space-md) 0;
  border-bottom: 1px solid var(--border-light);
}

.compare-cat-row:last-of-type {
  border-bottom: none;
}

.compare-cat-info {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: var(--space-xs);
}

.compare-cat-name {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--charcoal);
}

.compare-cat-desc {
  font-size: 0.8rem;
  color: var(--charcoal-muted);
}

.compare-cat-value {
  font-size: 1.1rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  flex-shrink: 0;
}

.compare-cat-value.pricier { color: #E24B4A; }
.compare-cat-value.cheaper { color: #1D9E75; }
.compare-cat-value.neutral { color: var(--charcoal-light); font-size: 0.9rem; font-weight: 400; }

.compare-bar-wrap {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-top: var(--space-xs);
}

.compare-bar-pair {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.compare-bar-line {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.compare-bar-city {
  font-size: 0.7rem;
  color: var(--charcoal-muted);
  width: 70px;
  text-align: right;
  flex-shrink: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.compare-bar-track {
  flex: 1;
  height: 14px;
  background: var(--warm-gray);
  border-radius: 7px;
  overflow: hidden;
}

.compare-bar-fill {
  height: 100%;
  border-radius: 7px;
  transition: width 0.5s ease-out;
  min-width: 8px;
}

.compare-bar-fill.bar-from {
  background: var(--accent);
}

.compare-bar-fill.bar-pricier {
  background: #E24B4A;
}

.compare-bar-fill.bar-cheaper {
  background: #1D9E75;
}

.compare-callout {
  margin-top: var(--space-lg);
  padding: var(--space-md) var(--space-lg);
  background: var(--warm-light);
  border-radius: var(--radius-md);
  font-size: 0.9rem;
  color: var(--charcoal-mid);
  text-align: center;
}

/* Facts table */
.compare-facts-table {
  max-width: 560px;
  margin: 0 auto;
}

.compare-facts-table table {
  width: 100%;
  border-collapse: collapse;
}

.compare-facts-table thead th {
  text-align: right;
  padding: var(--space-sm) var(--space-sm) var(--space-sm) 0;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--charcoal-light);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 2px solid var(--border);
}

.compare-facts-table thead th:first-child {
  text-align: left;
}

.compare-facts-table .fact-label {
  font-size: 0.9rem;
  color: var(--charcoal-mid);
  padding: var(--space-sm) var(--space-sm) var(--space-sm) 0;
  border-bottom: 1px solid var(--border-light);
}

.compare-facts-table .fact-value {
  text-align: right;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  font-size: 0.9rem;
  padding: var(--space-sm);
  border-bottom: 1px solid var(--border-light);
}

.compare-source {
  font-size: 0.75rem;
  color: var(--charcoal-muted);
  margin-top: var(--space-sm);
}

/* Profile links */
.compare-links-box {
  padding: var(--space-md) var(--space-lg);
  background: var(--warm-gray);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.compare-link {
  font-weight: 500;
  font-size: 0.95rem;
  color: var(--accent);
  text-decoration: none;
}

.compare-link:hover {
  text-decoration: underline;
}

/* Dollar headline */
.dollar-headline {
  font-size: 1.15rem;
  color: var(--charcoal-mid);
  margin-top: 0.5rem;
}

.dollar-headline strong {
  color: var(--accent);
  font-size: 1.2em;
}

/* Plain-English cost breakdown */
.cost-english-item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--border);
  gap: 1rem;
}

.cost-english-item:last-child {
  border-bottom: none;
}

.cost-label {
  font-weight: 600;
  color: var(--charcoal);
  flex-shrink: 0;
  min-width: 110px;
}

.cost-desc {
  color: var(--charcoal-mid);
  text-align: right;
  font-size: 0.95rem;
}

/* Collapsible data details */
.data-details summary {
  cursor: pointer;
  font-size: 0.85rem;
  color: var(--charcoal-light);
  padding: 0.25rem 0;
}

.data-details summary:hover {
  color: var(--accent);
}

.budget-bar-container {
  margin-top: var(--space-xl);
}

.budget-bar-row {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-bottom: var(--space-sm);
}

.budget-bar-label {
  width: 100px;
  font-size: 0.85rem;
  color: var(--charcoal-mid);
  text-align: right;
  flex-shrink: 0;
}

.budget-bar-track {
  flex: 1;
  height: 28px;
  background: var(--warm-gray);
  border-radius: var(--radius-sm);
  position: relative;
  overflow: hidden;
}

.budget-bar-fill {
  height: 100%;
  border-radius: var(--radius-sm);
  transition: width 0.6s ease-out;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: var(--space-sm);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--white);
  min-width: 40px;
}

.budget-bar-fill.bar-current {
  background: var(--accent);
}

.budget-bar-fill.bar-target {
  background: var(--warm);
}

.bar-legend {
  display: flex;
  gap: var(--space-lg);
  justify-content: center;
  margin-bottom: var(--space-md);
  font-size: 0.85rem;
}

.bar-legend-item {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.bar-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.bar-legend-dot.dot-current {
  background: var(--accent);
}

.bar-legend-dot.dot-target {
  background: var(--warm);
}


/* --- Trust Bar --- */

.trust-bar {
  display: flex;
  justify-content: center;
  gap: var(--space-xl);
  padding: var(--space-lg) 0;
  color: var(--charcoal-light);
  font-size: 0.85rem;
  border-bottom: 1px solid var(--border-light);
  margin-bottom: var(--space-xl);
  flex-wrap: wrap;
}

.trust-item {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.trust-icon {
  font-size: 1rem;
}


/* --- Section: How It Works / Why Trust Us --- */

.info-section {
  background: var(--warm-gray);
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-xl);
}

.info-card {
  text-align: center;
  padding: var(--space-xl) var(--space-lg);
}

.info-icon {
  width: 56px;
  height: 56px;
  background: var(--accent-light);
  color: var(--accent);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--space-md);
  font-size: 1.5rem;
}

.info-card h3 {
  margin-bottom: var(--space-sm);
  font-size: 1.15rem;
}

.info-card p {
  color: var(--charcoal-light);
  font-size: 0.95rem;
}


/* --- Section: Explore --- */

.explore-section {
  text-align: center;
}

.explore-section h2 {
  margin-bottom: var(--space-sm);
}

.explore-section .section-subtitle {
  color: var(--charcoal-light);
  margin-bottom: var(--space-2xl);
  font-size: 1.05rem;
}

.explore-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-lg);
}

.explore-card {
  background: var(--white);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
  text-decoration: none;
  color: var(--charcoal);
  text-align: left;
  transition: box-shadow 0.2s ease, transform 0.15s ease;
}

.explore-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
  color: var(--charcoal);
}

.explore-card h3 {
  margin-bottom: var(--space-sm);
}

.explore-card p {
  color: var(--charcoal-light);
  font-size: 0.9rem;
}

.explore-card .card-arrow {
  color: var(--accent);
  font-weight: 600;
  margin-top: var(--space-md);
  display: inline-block;
  font-size: 0.9rem;
}


/* --- City Grid (Index Pages) --- */

.city-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.city-card {
  display: block;
  padding: 0.875rem 1.125rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--charcoal);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}

.city-card:hover {
  border-color: var(--accent);
  box-shadow: 0 2px 8px rgba(26, 107, 90, 0.12);
  transform: translateY(-1px);
  color: var(--accent);
}

/* State index cards (icon above, name + cost hint below) */
.state-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.state-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.5rem 1rem;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--charcoal);
  text-decoration: none;
  transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}

.state-card:hover {
  border-color: var(--accent);
  box-shadow: 0 2px 8px rgba(26, 107, 90, 0.12);
  transform: translateY(-1px);
}

.state-card .stateface {
  font-size: 3rem;
  margin-bottom: 0.4rem;
}

.state-card .state-name {
  font-size: 1.15rem;
  font-weight: 600;
}

.state-card .state-hint {
  font-size: 0.85rem;
  margin-top: 0.2rem;
}

.state-card .state-hint.cheaper { color: #1D9E75; }
.state-card .state-hint.pricier { color: #E24B4A; }
.state-card .state-hint.neutral { color: var(--charcoal-light); }

@media (max-width: 768px) {
  .city-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  .city-card {
    padding: 0.75rem;
    font-size: 0.875rem;
  }
  .state-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
  .state-card {
    padding: 1rem 0.75rem;
  }
}

@media (max-width: 480px) {
  .city-grid {
    grid-template-columns: 1fr;
  }
  .state-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* --- FAQ Section --- */

.faq-section {
  background: var(--warm-gray);
}

.faq-section h2 {
  text-align: center;
  margin-bottom: var(--space-2xl);
}

.faq-list {
  max-width: var(--max-width-narrow);
  margin: 0 auto;
}

.faq-item {
  border-bottom: 1px solid var(--border);
}

.faq-item:first-child {
  border-top: 1px solid var(--border);
}

.faq-question {
  width: 100%;
  padding: var(--space-lg) 0;
  background: none;
  border: none;
  text-align: left;
  font-family: var(--font-body);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--charcoal);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
  min-height: 44px;
}

.faq-question::after {
  content: '+';
  font-size: 1.25rem;
  font-weight: 400;
  color: var(--accent);
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.faq-question[aria-expanded="true"]::after {
  content: '\2212';
}

.faq-answer {
  display: none;
  padding: 0 0 var(--space-lg);
  color: var(--charcoal-mid);
  line-height: 1.7;
}

.faq-answer p {
  margin-bottom: var(--space-sm);
}


/* --- Disclaimer Bar --- */

.disclaimer-bar {
  background: var(--warm-light);
  border: 1px solid var(--warm);
  border-radius: var(--radius-sm);
  padding: var(--space-md) var(--space-lg);
  font-size: 0.85rem;
  color: var(--charcoal-mid);
  margin: var(--space-xl) auto;
  max-width: var(--max-width);
}


/* --- Footer --- */

.site-footer {
  background: var(--charcoal);
  color: rgba(255, 255, 255, 0.7);
  padding: var(--space-3xl) 0 var(--space-xl);
}

.footer-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--space-lg);
}

.footer-brand {
  margin-bottom: var(--space-2xl);
}

.footer-logo {
  font-family: 'Outfit', sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
}

.footer-logo .price { color: #1A6B5A; }
.footer-logo .mycity { color: var(--white); }

.footer-tagline {
  margin-top: var(--space-sm);
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.5);
}

.footer-links {
  display: flex;
  gap: var(--space-3xl);
  margin-bottom: var(--space-2xl);
}

.footer-col h3 {
  font-family: var(--font-body);
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: var(--space-md);
}

.footer-col ul {
  list-style: none;
}

.footer-col li {
  margin-bottom: var(--space-sm);
}

.footer-col a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.9rem;
  transition: color 0.2s ease;
}

.footer-col a:hover {
  color: var(--white);
}

.footer-bottom {
  padding-top: var(--space-xl);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.4);
}

.footer-source-note {
  margin-top: var(--space-sm);
}

.footer-source-note a {
  color: rgba(255, 255, 255, 0.5);
}


/* --- Breadcrumbs --- */

.breadcrumb {
  padding: var(--space-md) var(--space-lg);
  max-width: var(--max-width);
  margin: 0 auto;
}

.breadcrumb ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  font-size: 0.85rem;
}

.breadcrumb li:not(:last-child)::after {
  content: '/';
  margin-left: var(--space-xs);
  color: var(--charcoal-muted);
}

.breadcrumb a {
  color: var(--charcoal-light);
}

.breadcrumb span[aria-current] {
  color: var(--charcoal-mid);
  font-weight: 500;
}


/* --- Error Page --- */

.error-page {
  text-align: center;
  padding: var(--space-3xl) 0;
}

.error-page h1 {
  margin-bottom: var(--space-md);
}

.error-page p {
  color: var(--charcoal-light);
  font-size: 1.05rem;
  max-width: 480px;
  margin: 0 auto var(--space-md);
}

.error-links {
  display: flex;
  gap: var(--space-md);
  justify-content: center;
  flex-wrap: wrap;
  margin-top: var(--space-xl);
}


/* --- Legal Pages --- */

.legal-page {
  padding: var(--space-3xl) 0;
}

.legal-page h1 {
  margin-bottom: var(--space-sm);
}

.legal-page .last-updated {
  color: var(--charcoal-muted);
  font-size: 0.9rem;
  margin-bottom: var(--space-2xl);
}

.legal-page h2 {
  font-size: 1.35rem;
  margin-top: var(--space-2xl);
  margin-bottom: var(--space-md);
}

.legal-page h3 {
  font-size: 1.1rem;
  margin-top: var(--space-lg);
  margin-bottom: var(--space-sm);
}

.legal-page p,
.legal-page li {
  color: var(--charcoal-mid);
  line-height: 1.8;
}

.legal-page ul,
.legal-page ol {
  padding-left: var(--space-xl);
  margin-bottom: var(--space-md);
}

.legal-page li {
  margin-bottom: var(--space-xs);
}


/* --- Index Pages (States, Cities, World) --- */

.index-hero {
  background: linear-gradient(170deg, var(--accent-lighter) 0%, var(--white) 60%);
  padding: var(--space-3xl) 0 var(--space-lg);
  text-align: center;
}

.index-hero + section {
  padding-top: var(--space-lg);
}

.index-hero h1 {
  margin-bottom: var(--space-md);
}

.index-hero p {
  color: var(--charcoal-light);
  font-size: 1.05rem;
  max-width: 580px;
  margin: 0 auto;
}

.coming-soon-note {
  background: var(--warm-light);
  border: 1px solid var(--warm);
  border-radius: var(--radius-md);
  padding: var(--space-xl);
  text-align: center;
  max-width: 600px;
  margin: var(--space-2xl) auto;
}

.coming-soon-note p {
  color: var(--charcoal-mid);
  margin: 0;
}


/* --- Responsive: Tablet (768px) --- */

@media (max-width: 768px) {
  h1 {
    font-size: 1.75rem;
  }

  h2 {
    font-size: 1.5rem;
  }

  .hero h1 {
    font-size: 2rem;
  }

  /* Mobile nav */
  .nav-toggle {
    display: flex;
  }

  .nav-links {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--white);
    flex-direction: column;
    padding: var(--space-md) var(--space-lg) var(--space-xl);
    border-bottom: 1px solid var(--border-light);
    box-shadow: var(--shadow-md);
    gap: 0;
  }

  .nav-links.open {
    display: flex;
  }

  .nav-links li {
    width: 100%;
  }

  .nav-links a {
    display: block;
    padding: var(--space-md) 0;
    border-bottom: 1px solid var(--border-light);
  }

  .nav-links li:last-child a {
    border-bottom: none;
  }

  .nav-cta {
    text-align: center;
    margin-top: var(--space-sm);
  }

  /* Calculator */
  .calculator-card {
    padding: var(--space-lg);
    margin: -1.5rem var(--space-md) 0;
    border-radius: var(--radius-lg);
  }

  .calculator-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .results-headline .salary-amount {
    font-size: 2rem;
  }

  .results-comparison {
    grid-template-columns: 1fr;
  }

  /* Info grid */
  .info-grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  /* Explore grid */
  .explore-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  /* Trust bar */
  .trust-bar {
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
  }

  /* Footer */
  .footer-links {
    flex-direction: column;
    gap: var(--space-xl);
  }

  /* Budget bars */
  .budget-bar-label {
    width: 70px;
    font-size: 0.75rem;
  }

  .budget-bar-row {
    gap: var(--space-sm);
  }

  /* Comparison bars */
  .compare-headline-pct {
    font-size: 2.25rem;
  }

  .compare-cat-info {
    flex-direction: column;
    gap: 2px;
  }

  .compare-bar-city {
    width: 50px;
    font-size: 0.65rem;
  }

  .compare-facts-table .fact-label,
  .compare-facts-table .fact-value {
    font-size: 0.82rem;
    padding: var(--space-xs) var(--space-xs) var(--space-xs) 0;
  }

  /* Error page */
  .error-links {
    flex-direction: column;
    align-items: center;
  }
}


/* --- Responsive: Small phones (480px) --- */

@media (max-width: 480px) {
  .hero h1 {
    font-size: 1.65rem;
  }

  .calculator-card {
    margin: -1rem var(--space-sm) 0;
    padding: var(--space-md);
  }

  .results-headline .salary-amount {
    font-size: 1.75rem;
  }

  section {
    padding: var(--space-2xl) 0;
  }

  .compare-headline-pct {
    font-size: 2rem;
  }

  .compare-bar-wrap {
    flex-direction: column;
    align-items: flex-end;
    gap: var(--space-xs);
  }
}
