@font-face { font-family: "Figtree"; font-style: normal; font-weight: 300 900; font-display: swap; src: url("/fonts/Figtree-var.woff2") format("woff2"); }
@font-face { font-family: "Figtree"; font-style: italic; font-weight: 300 900; font-display: swap; src: url("/fonts/Figtree-Italic-var.woff2") format("woff2"); }
:root {
  --ground: #FFFFFF;
  --surface: #F5F6F7;
  --surface-2: #ECEEF0;
  --border: #E4E6E8;
  --text: #16181A;
  --text-2: #5F6368;
  --text-3: #666B70;
  --rule: #C4C8CC;
  --green: #0E6B4F;
  --accent: #0E6B4F;
  --accent-hover: #0A5540;
  --chart-bar: #3E8C6E;
  --chart-bar-soft: #9CCBB8;
  --chart-soft: #E8F0EC;
  --on-accent: #FFFFFF;
  --alert: #B8502A;
  --alert-tint: #FCF4F0;
  --ink: #16181A;
  --on-ink: #FFFFFF;
  --return-well: #EEF3F3;
  --delta-cut: #276C3B;
  --delta-rise: #9C2B45;
  --delta-caution: #845200;
  --map-sea: #D9E4E1;
  --map-land: #EEF0EC;
  --map-hill: #E3E6E0;
  --shade: 22,24,26;
  --font: "Figtree", system-ui, sans-serif;
  --page-pad-x: 64px;
  --gutter-phone: 16px;
  --col-reading: 960px;
  --col-wide: 1312px;
  --card-pad: 28px 32px;
  --card-pad-phone: 20px;
  --card-gap: 16px;
  --tile-pad: 20px 22px;
  --r-card: 26px;
  --r-card-phone: 22px;
  --r-tile: 20px;
  --r-area: 24px;
  --r-map: 18px;
  --r-pill: 999px;
  --touch: 44px;
  --tab-h: 56px;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --scrim: linear-gradient(to bottom, rgba(18,13,8,0.55), rgba(18,13,8,0));
  --hero-overlay: rgba(22,16,10,0.42);
  --hero-scrim: rgba(22,16,10,0.62);
  --shadow-search: 0 6px 20px rgba(29,24,19,0.14);
  --shadow-dropdown: 0 16px 40px rgba(29,24,19,0.18);
}
html, body { background: var(--ground); color: var(--text); font-family: var(--font); font-size: 17px; line-height: 1.6; font-variant-numeric: tabular-nums; -webkit-font-smoothing: antialiased; }
a { color: var(--green); text-decoration: none; }
a:hover { color: var(--text); }
:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.label { font-size: 13px; font-weight: 600; color: var(--text-3); }
.eyebrow { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 15px; background: var(--surface-2); font-size: 14px; font-weight: 600; color: var(--text-2); }
.proof { font-size: 16px; color: var(--text-2); }
.provenance { font-size: 15px; line-height: 1.7; color: var(--text-2); }
.meta { font-size: 17px; line-height: 1.6; color: var(--text-2); }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-card); padding: var(--card-pad); display: flex; flex-direction: column; gap: var(--card-gap); position: relative; }
.card__title { font-size: 20px; font-weight: 600; letter-spacing: -0.01em; padding-right: 40px; }
.card__price { font-size: 30px; font-weight: 600; letter-spacing: -0.015em; }
.card__agencies { font-size: 18px; font-weight: 500; line-height: 1.55; }
@media (max-width: 899px) {
  .card { border-radius: var(--r-card-phone); padding: var(--card-pad-phone); }
  .card__title { font-size: 17px; }
  .card__price { font-size: 24px; }
  .card__agencies { font-size: 17px; }
}
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: var(--r-pill); font: 600 17px/1 var(--font); }
.btn--primary { background: var(--terracotta); color: var(--on-terracotta); border: 0; }
.btn--outline { background: var(--surface); color: var(--green); border: 1.5px solid var(--green); }
.pill, .brief-chip, .sort { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: var(--r-pill); background: var(--surface); border: 1px solid var(--border); color: var(--text); font: 500 16px/1 var(--font); white-space: nowrap; }
.pill__mark { color: var(--terracotta); font-weight: 600; }
.brief-chip--default { color: var(--text-2); font-weight: 400; }
.search { display: flex; align-items: center; gap: 12px; background: var(--surface); border-radius: var(--r-pill); }
.search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; color: var(--text); }
.search input::placeholder { color: var(--text-3); }
.tile { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-tile); padding: var(--tile-pad); }
.cut { color: var(--delta-cut); }
.rise { color: var(--delta-rise); }
.caution { color: var(--delta-caution); }
.app-inset { height: var(--safe-top); background: var(--ink); }
.tabbar { position: fixed; left: 0; right: 0; bottom: 0; height: calc(var(--tab-h) + var(--safe-bottom)); padding-bottom: var(--safe-bottom); background: var(--surface); border-top: 1px solid var(--border); display: grid; grid-template-columns: repeat(4, 1fr); }
.tabbar a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; font-size: 12px; font-weight: 600; color: var(--text-3); }
.tabbar a[aria-current="page"] { color: var(--text); }
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 600; font-display: swap; src: url("/fonts/Fraunces-600.woff2") format("woff2"); }
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/Fraunces-700.woff2") format("woff2"); }
@font-face { font-family: "Fraunces Fallback"; font-weight: 700; src: local("Georgia Bold"), local("Georgia-Bold"), local("Georgia"); size-adjust: 95.3%; ascent-override: 102.8%; descent-override: 27.3%; line-gap-override: 0%; }
@font-face { font-family: "Fraunces Fallback"; font-weight: 600; src: local("Georgia Bold"), local("Georgia-Bold"), local("Georgia"); size-adjust: 92%; ascent-override: 106.5%; descent-override: 28.3%; line-gap-override: 0%; }
:root {
  --font-display: "Fraunces", "Fraunces Fallback", Georgia, serif;
  --green-deep: #06261D;
  --photo-layer: rgba(6, 38, 29, 0.55);
  --oval-w: 570px;
  --oval-w-phone: 300px;
  --pill-w: 390px;
  --pill-w-phone: 330px;
}
