
:root {
  --bg: #0D0D0D;
  --surface: #1A1A1A;
  --surface2: #222;
  --card: #1E1E1E;
  --text: #F0F0F0;
  --muted: #B8B8B8;
  --accent: #B71C1C;
  --accent-hover: #C62828;
  --gold: #FFB300;
  --green: #43A047;
  --bd: rgba(255,255,255,.08);
  --r: 10px;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
body { font-family: 'DM Sans', sans-serif; background: var(--bg); color: var(--text); line-height: 1.6; font-size: 16px; overflow-x: hidden; }
h1, h2, h3, h4 { font-family: 'Plus Jakarta Sans', sans-serif; line-height: 1.2; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.ftt-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
:focus-visible {
  outline: 3px solid #FFD166 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px rgba(13, 13, 13, .82);
}
[hidden] { display: none !important; }
.ftt-field-error {
  display: block;
  margin-top: 7px;
  color: #FFB4A6;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}
[aria-invalid="true"] { border-color: #FF8A70 !important; }


.nav { position: sticky; top: 0; z-index: 100; background: rgba(13,13,13,.95); backdrop-filter: blur(16px); border-bottom: 1px solid var(--bd); padding: 0 20px; height: 64px; display: flex; align-items: center; justify-content: space-between; }
.nav-logo { height: 40px; }
.nav-links { display: none; gap: 4px; align-items: center; }
.nav-links a { font-size: 14px; color: var(--muted); padding: 8px 14px; border-radius: 6px; transition: all .15s; }
.nav-links a:hover { color: var(--text); background: rgba(255,255,255,.05); }
.nav-cta { background: var(--accent); color: #fff7ed; padding: 10px 20px; border-radius: 8px; font-weight: 700; font-size: 14px; transition: background .2s; min-height: 44px; display: inline-flex; align-items: center; }
.nav-cta:hover { background: var(--accent-hover); }


.wrap { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.section { padding: 48px 0; }


.hero { position: relative; padding: 100px 20px 60px; text-align: center; background: linear-gradient(180deg, rgba(229,57,53,.08) 0%, transparent 60%); }
.hero h1 { font-size: 32px; font-weight: 800; margin-bottom: 16px; letter-spacing: -.02em; }
.hero h1 span { color: var(--accent); }
.hero p { font-size: 16px; color: var(--muted); max-width: 560px; margin: 0 auto 28px; }
.hero-btns { display: flex; flex-direction: column; gap: 12px; max-width: 320px; margin: 0 auto; }
.hero-stats { display: flex; justify-content: center; gap: 32px; margin-top: 36px; }
.hero-stat { text-align: center; }
.hero-stat .lbl { font-size: 12px; color: var(--muted); }


.cats { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 32px; }
.cat-pill { background: var(--surface); border: 1px solid var(--bd); color: var(--muted); padding: 8px 18px; border-radius: 100px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all .15s; }
.cat-pill:hover, .cat-pill.active { background: var(--accent); color: #fff7ed; border-color: var(--accent); }


.listings-grid { display: grid; grid-template-columns: 1fr; gap: 16px; max-width: 100%; overflow: hidden; }
.listing-card { background: var(--card); border: 1px solid var(--bd); border-radius: var(--r); overflow: hidden; transition: border-color .2s; }
.listing-card:hover { border-color: rgba(229,57,53,.3); }
.listing-card.featured { border-color: var(--gold); }
.listing-img { width: 100%; aspect-ratio: 16/10; background: var(--surface2); display: flex; align-items: center; justify-content: center; color: var(--muted); font-size: 48px; object-fit: cover; }
img.listing-img { display: block; }
.listing-body { padding: 16px; }
.listing-badges { display: flex; gap: 6px; margin-bottom: 8px; }
.badge { font-size: 10px; font-weight: 700; padding: 3px 10px; border-radius: 100px; text-transform: uppercase; letter-spacing: .05em; }
.badge-featured { background: var(--gold); color: #000; }
.badge-cat { background: rgba(229,57,53,.15); color: var(--accent); }
.badge-pending { background: rgba(255,179,0,.15); color: var(--gold); }
.badge-approved { background: rgba(67,160,71,.15); color: var(--green); }
.listing-title { font-size: 17px; font-weight: 700; margin-bottom: 6px; }
.listing-price { font-size: 22px; font-weight: 800; color: var(--accent); font-family: 'Plus Jakarta Sans', sans-serif; margin-bottom: 6px; }
.listing-meta { font-size: 13px; color: var(--muted); display: flex; gap: 16px; }
.listing-desc { font-size: 14px; color: var(--muted); margin-top: 10px; line-height: 1.6; }


.sh { font-size: 24px; font-weight: 800; margin-bottom: 8px; }
.sh span { color: var(--accent); }
.sp { font-size: 14px; color: var(--muted); margin-bottom: 24px; }


.btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 24px; border-radius: 8px; font-weight: 700; font-size: 14px; font-family: 'Plus Jakarta Sans', sans-serif; border: none; cursor: pointer; transition: all .2s; min-height: 44px; }
.btn-red { background: var(--accent); color: #fff7ed; }
.btn-red:hover { background: var(--accent-hover); }
.btn-outline { background: transparent; border: 1px solid var(--bd); color: var(--text); }
.btn-outline:hover { border-color: var(--accent); }
.btn-green { background: var(--green); color: #fff; }
.btn-green:hover { background: #4CAF50; }
.btn-sm { padding: 8px 16px; font-size: 13px; }
.btn-block { width: 100%; }


.form-group { margin-bottom: 16px; }
.form-group label { display: block; font-size: 13px; font-weight: 600; color: var(--muted); margin-bottom: 6px; }
.form-control { width: 100%; padding: 12px 14px; background: var(--surface); border: 1px solid var(--bd); border-radius: 8px; color: var(--text); font-size: 15px; font-family: 'DM Sans', sans-serif; min-height: 44px; }
.form-control:focus { outline: none; border-color: var(--accent); }
textarea.form-control { min-height: 100px; resize: vertical; }
select.form-control { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }


.admin-table { width: 100%; border-collapse: collapse; margin-top: 20px; }
.admin-table th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); padding: 10px 12px; border-bottom: 1px solid var(--bd); }
.admin-table td { padding: 12px; border-bottom: 1px solid var(--bd); font-size: 14px; vertical-align: middle; }
.admin-table tr:hover { background: rgba(255,255,255,.02); }


.admin-card { background: var(--card); border: 1px solid var(--bd); border-radius: var(--r); padding: 16px; margin-bottom: 12px; }
.admin-card h3 { font-size: 16px; margin-bottom: 4px; }
.admin-card .meta { font-size: 13px; color: var(--muted); margin-bottom: 12px; }
.admin-actions { display: flex; gap: 8px; }


.footer { border-top: 1px solid var(--bd); padding: 32px 16px; text-align: center; }
.footer-logo { height: 60px; margin: 0 auto 12px; }
.footer p { font-size: 13px; color: var(--muted); }


.flash { padding: 14px 20px; border-radius: 8px; margin-bottom: 20px; font-size: 14px; font-weight: 600; }
.flash-success { background: rgba(67,160,71,.15); color: var(--green); border: 1px solid rgba(67,160,71,.3); }
.flash-error { background: rgba(229,57,53,.15); color: var(--accent); border: 1px solid rgba(229,57,53,.3); }


@media (min-width: 768px) {
  .wrap { padding: 0 24px; }
  .section { padding: 64px 0; }
  .hero h1 { font-size: 48px; }
  .hero-btns { flex-direction: row; max-width: none; justify-content: center; }
  .nav-links { display: flex; }
  .listings-grid { grid-template-columns: repeat(2, 1fr); }
  .sh { font-size: 30px; }
}
@media (min-width: 1024px) {
  .listings-grid { grid-template-columns: repeat(3, 1fr); }
  .hero h1 { font-size: 56px; }
}
@media (hover: hover) {
  .listing-card:hover { transform: translateY(-2px); transition: all .2s; }
}


:root {
  --bg: #080808;
  --card: #111111;
  --card-hover: #161616;
  --border: #1E1E1E;
  --border-bright: #2A2A2A;
  --orange: #9A3F06;
  --orange-dark: #C2570D;
  --orange-glow: rgba(249,115,22,0.15);
  --text: #F0EDE8;
  --muted: #B8B8B8;
  --muted-bright: #999999;
  --sand: #D4A574;
  --radius: 6px;
  --radius-lg: 12px;
  --surface: #111111;
  --surface2: #161616;
  --ink: #080808;
  --panel: #111111;
  --panel2: #161616;
  --danger: #ef4444;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  background: var(--bg);
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  font-size: 16px;
  letter-spacing: 0;
}

body,
button,
input,
select,
textarea {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1,
h2,
h3,
.ftt-hero h1,
.ftt-page-hero h1,
.ftt-auth-copy h1,
.ftt-auth-card h1,
.ftt-auth-card h2,
.ftt-legal-card h2 {
  font-family: "Barlow Condensed", Inter, system-ui, sans-serif;
  letter-spacing: 0;
}

a {
  color: inherit;
}

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

.ftt-wrap {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.ftt-section {
  padding: 44px 0;
}

.ftt-section-tight {
  padding-top: 20px;
}

.ftt-kicker {
  margin: 0 0 8px;
  color: var(--orange);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.ftt-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.ftt-section-head h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(26px, 4vw, 42px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0;
}

.ftt-section-head a {
  color: var(--orange);
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}

.ftt-btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.ftt-btn:hover {
  transform: translateY(-1px);
}

.ftt-btn-primary {
  border-color: var(--orange);
  background: var(--orange);
  color: #fff7ed;
}

.ftt-btn-ghost {
  background: #151515;
  color: var(--text);
}

.ftt-nav {
  position: sticky;
  top: 0;
  z-index: 200;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 max(16px, calc((100vw - 1180px) / 2));
  background: rgba(17, 17, 17, .96);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(14px);
}

.ftt-logo img {
  width: 168px;
  height: auto;
}

.ftt-nav-links {
  display: none;
  align-items: center;
  gap: 4px;
}

.ftt-nav-links a,
.ftt-nav-dropdown > button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 10px 12px;
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.ftt-nav-links a:hover,
.ftt-nav-dropdown:hover > button {
  color: var(--text);
}

.ftt-nav-links .ftt-nav-cta,
.ftt-mobile-menu .ftt-nav-cta {
  margin-left: 8px;
  background: var(--orange);
  color: #fff7ed;
  border-radius: var(--radius);
  padding-inline: 16px;
}

.ftt-nav-dropdown {
  position: relative;
}

.ftt-nav-dropdown::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 9;
  display: none;
  width: 280px;
  height: 10px;
}

.ftt-nav-dropdown-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 10;
  width: 280px;
  max-height: 440px;
  overflow: auto;
  display: none;
  grid-template-columns: 1fr;
  padding: 8px;
  background: var(--card);
  border: 1px solid var(--border);
  box-shadow: 0 20px 80px rgba(0, 0, 0, .45);
}

.ftt-nav-dropdown:hover::after,
.ftt-nav-dropdown:focus-within::after,
.ftt-nav-dropdown.is-open::after {
  display: block;
}

.ftt-nav-dropdown:hover .ftt-nav-dropdown-menu,
.ftt-nav-dropdown:focus-within .ftt-nav-dropdown-menu,
.ftt-nav-dropdown.is-open .ftt-nav-dropdown-menu {
  display: grid;
}

.ftt-nav-dropdown-menu a {
  min-height: 38px;
  border-radius: 6px;
}

.ftt-menu-toggle {
  width: 46px;
  height: 46px;
  display: grid;
  place-content: center;
  gap: 5px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  cursor: pointer;
  touch-action: manipulation;
}

.ftt-menu-toggle span {
  width: 21px;
  height: 2px;
  background: var(--text);
}

.ftt-mobile-menu {
  position: fixed;
  top: calc(72px + env(safe-area-inset-top, 0px));
  left: 0;
  right: 0;
  z-index: 240;
  display: none;
  max-height: calc(100vh - 72px - env(safe-area-inset-top, 0px));
  overflow: auto;
  padding: 12px 16px 24px;
  background: #111;
  border-bottom: 1px solid var(--border);
}

.ftt-mobile-menu.is-open {
  display: grid;
}

.ftt-mobile-menu a {
  padding: 13px 4px;
  border-bottom: 1px solid var(--border);
  color: var(--text);
  font-weight: 800;
  text-decoration: none;
}

.ftt-mobile-menu .ftt-nav-cta {
  justify-content: center;
  margin: 14px 0 0;
  border-bottom: 0;
}

.ftt-hero {
  min-height: clamp(520px, 78vh, 760px);
  display: grid;
  align-items: center;
  padding: 56px 0 70px;
  background:
    linear-gradient(180deg, rgba(17,17,17,.2), var(--bg)),
    radial-gradient(circle at 70% 18%, rgba(249, 115, 22, .18), transparent 34%),
    linear-gradient(135deg, #161616 0%, #111 45%, #0f0f0f 100%);
  border-bottom: 1px solid var(--border);
}

.ftt-hero-inner {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.ftt-hero h1 {
  max-width: 880px;
  margin: 0;
  color: var(--text);
  font-size: clamp(46px, 10vw, 104px);
  line-height: .88;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.ftt-hero p:not(.ftt-kicker) {
  max-width: 580px;
  margin: 22px 0 0;
  color: #b9b9b9;
  font-size: clamp(17px, 2.6vw, 22px);
  font-weight: 600;
}

.ftt-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.ftt-hero-actions--doors {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 430px);
}

.ftt-hero-actions--doors .ftt-btn {
  min-width: 0;
  min-height: 44px;
  justify-content: center;
}

@media (min-width: 760px) {
  .ftt-hero-actions--doors {
    grid-template-columns: repeat(4, max-content);
    width: auto;
  }
}

.ftt-page-hero {
  padding: 42px 0 28px;
  background: linear-gradient(180deg, rgba(249, 115, 22, .08), transparent);
  border-bottom: 1px solid var(--border);
}

.ftt-page-hero h1 {
  margin: 0;
  font-size: clamp(38px, 7vw, 72px);
  line-height: .95;
  font-weight: 900;
  text-transform: uppercase;
}

.ftt-category-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.ftt-category-tile {
  position: relative;
  min-height: 90px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 8px;
  padding: 14px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text);
  text-decoration: none;
  transition: border-color .16s ease, transform .16s ease;
}

.ftt-category-tile:hover {
  border-color: var(--orange);
  transform: translateY(-1px);
}

.ftt-category-tile strong {
  max-width: 15ch;
  font-size: 15px;
  line-height: 1.12;
  font-weight: 900;
}

.ftt-cat-icon {
  width: 32px;
  height: 32px;
}

.ftt-cat-count {
  display: inline-block;
  background: var(--orange);
  color: white;
  font-size: 11px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 10px;
  margin-left: 8px;
}

.ftt-browse-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.ftt-listing-card {
  position: relative;
  overflow: hidden;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  transition: transform .18s ease, border-color .18s ease;
}

.ftt-listing-card:hover {
  border-color: #3a3a3a;
  transform: translateY(-2px);
}

.ftt-listing-card.is-featured {
  border-color: rgba(249, 115, 22, .75);
}

.ftt-card-photo {
  position: relative;
  aspect-ratio: 16 / 9;
  display: block;
  overflow: hidden;
  background: #202020;
  color: var(--muted);
  text-decoration: none;
}

.ftt-card-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .22s ease;
}

.ftt-listing-card:hover .ftt-card-photo img {
  transform: scale(1.025);
}

.ftt-photo-empty {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: #B8B8B8;
  font-size: 38px;
  font-weight: 900;
  letter-spacing: .14em;
}

.ftt-card-category,
.ftt-featured-badge {
  position: absolute;
  top: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 9px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.ftt-card-category {
  left: 10px;
  background: rgba(17, 17, 17, .86);
  color: var(--text);
  border: 1px solid rgba(255, 255, 255, .08);
}

.ftt-featured-badge {
  right: 10px;
  background: var(--orange);
  color: #fff7ed;
}

.ftt-card-body {
  padding: 14px;
}

.ftt-card-price {
  margin-bottom: 4px;
  color: var(--orange);
  font-size: 26px;
  line-height: 1;
  font-weight: 900;
}

.ftt-card-title {
  margin: 0;
  color: var(--text);
  font-size: 18px;
  line-height: 1.18;
  font-weight: 900;
}

.ftt-card-title a {
  color: inherit;
  text-decoration: none;
}

.ftt-card-meta,
.ftt-card-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}

.ftt-card-meta {
  margin-top: 10px;
}

.ftt-card-foot {
  justify-content: space-between;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}

.ftt-card-foot a {
  color: var(--orange);
  text-decoration: none;
}

.ftt-placeholder-card {
  opacity: .82;
}

.ftt-browse-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  padding-top: 22px;
  padding-bottom: 54px;
}

.ftt-filter-drawer {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
}

.ftt-filter-drawer summary {
  padding: 15px;
  color: var(--text);
  font-weight: 900;
  cursor: pointer;
}

.ftt-filter-panel {
  align-self: start;
  padding: 14px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.ftt-filter-panel form {
  display: grid;
  gap: 14px;
}

.ftt-filter-panel label,
.ftt-sort-form {
  display: grid;
  gap: 7px;
  color: #b5b5b5;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ftt-filter-panel input:not(.ftt-trades-filter__checkbox),
.ftt-filter-panel select,
.ftt-sort-form select {
  width: 100%;
  min-height: 44px;
  padding: 10px 11px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #101010;
  color: var(--text);
  font-size: 14px;
  font-weight: 700;
}

.ftt-filter-panel input:focus,
.ftt-filter-panel select:focus,
.ftt-sort-form select:focus {
  outline: 2px solid rgba(249, 115, 22, .28);
  border-color: var(--orange);
}

.ftt-trades-filter {
  display: grid;
  gap: 7px;
}

.ftt-trades-filter__label {
  color: var(--sand);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .01em;
  text-transform: uppercase;
}

.ftt-filter-panel .ftt-trades-filter__control {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--line-2);
  border-radius: var(--r);
  background: var(--ink-2);
  color: var(--muted);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  text-transform: none;
  cursor: pointer;
}

.ftt-filter-panel .ftt-trades-filter__checkbox {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  min-height: 20px;
  margin: 0;
  padding: 0;
  border: 2px solid var(--line-2);
  border-radius: 3px;
  background: var(--ink-2);
  accent-color: var(--accent);
}

.ftt-price-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.ftt-filter-group.is-hidden {
  display: none;
}

.ftt-clear-link {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.ftt-results {
  min-width: 0;
}

.ftt-results-bar {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: center;
  margin-bottom: 16px;
}

.ftt-results-bar p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 800;
}

.ftt-empty-state,
.ftt-error-page {
  padding: 44px 18px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.ftt-empty-state h2,
.ftt-error-page h1 {
  margin: 0 0 8px;
  font-size: 30px;
  font-weight: 900;
}

.ftt-empty-state p,
.ftt-error-page p {
  margin: 0;
  color: var(--muted);
}

.ftt-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}

.ftt-pagination a {
  min-width: 42px;
  min-height: 42px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text);
  font-weight: 900;
  text-decoration: none;
}

.ftt-pagination a.is-current {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff7ed;
}

.ftt-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 22px 0 14px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.ftt-breadcrumb a {
  color: var(--orange);
  text-decoration: none;
}

.ftt-listing-detail {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.ftt-listing-main {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.ftt-gallery,
.ftt-listing-side,
.ftt-listing-copy,
.ftt-contact-panel,
.ftt-seller-panel {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.ftt-main-photo {
  aspect-ratio: 16 / 10;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #202020;
  color: #B8B8B8;
  font-size: 42px;
  font-weight: 900;
  letter-spacing: .14em;
}

.ftt-main-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ftt-thumbs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 10px;
  border-top: 1px solid var(--border);
  scroll-snap-type: x mandatory;
}

.ftt-thumbs button {
  flex: 0 0 86px;
  aspect-ratio: 16 / 10;
  padding: 0;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 6px;
  background: #202020;
  cursor: pointer;
  scroll-snap-align: start;
}

.ftt-thumbs button.is-active {
  border-color: var(--orange);
}

.ftt-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.ftt-spectrum-hero {
  position: relative;
  min-height: 60vh;
  display: grid;
  place-items: center;
  text-align: center;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .28), #111 100%),
    linear-gradient(110deg, rgba(12, 12, 12, .82), rgba(12, 12, 12, .56)),
    url("/assets/images/ftt-trifecta.png") center / cover no-repeat,
    #0f0f0f;
}

.ftt-spectrum-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(249, 115, 22, .22), transparent 32%, rgba(34, 34, 34, .6)),
    radial-gradient(circle at 18% 70%, rgba(249, 115, 22, .16), transparent 32%);
  pointer-events: none;
}

.ftt-spectrum-hero .ftt-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
}

.ftt-spectrum-hero h1 {
  max-width: 1000px;
  text-align: center;
}

.ftt-spectrum-hero p:not(.ftt-kicker) {
  max-width: 760px;
  text-align: center;
}

.ftt-hero p.ftt-hero-tagline {
  color: #f97316;
  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-top: 8px;
}

.ftt-category-grid {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.ftt-category-tile {
  background: #171717;
  border-color: #222;
}

.ftt-category-tile:hover {
  border-color: var(--orange);
  transform: translateY(-3px);
}

.ftt-browse-grid {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.ftt-listing-card {
  background: #171717;
  border-color: #222;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

.ftt-listing-card:hover {
  border-color: rgba(249, 115, 22, .78);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .26);
}

.ftt-card-photo {
  aspect-ratio: 16 / 9;
}

.ftt-card-title {
  color: #fff;
  font-weight: 900;
}

.ftt-card-price {
  color: var(--orange);
}

.ftt-listing-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.ftt-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 5px 8px;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  background: #111;
  color: #d6d6d6;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.ftt-browse-layout {
  align-items: start;
}

.ftt-filter-drawer {
  overflow: hidden;
}

.ftt-filter-drawer[open] summary {
  border-bottom: 1px solid var(--border);
}

.ftt-filter-drawer-body .ftt-filter-panel {
  border: 0;
  border-radius: 0;
}

.ftt-empty-state .ftt-btn,
.ftt-market-empty .ftt-btn,
.ftt-dark-404 .ftt-btn {
  margin-top: 18px;
}

.ftt-market-empty {
  text-align: center;
}

.ftt-riding-tease {
  padding: 20px 0;
  background: #0d0d0d;
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
  color: #fed7aa;
}

.ftt-riding-tease .ftt-wrap {
  display: flex;
  gap: 14px;
  align-items: center;
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: thin;
}

.ftt-riding-tease strong {
  color: var(--orange);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.ftt-riding-tease span {
  color: #B8B8B8;
  font-weight: 400;
}

.ftt-riding-tease a {
  color: #d6a77e;
  font-weight: 800;
  text-decoration: none;
  transition: color 150ms ease;
}

.ftt-riding-tease a:hover {
  color: var(--orange);
}

.ftt-listing-detail {
  grid-template-columns: 1fr;
  gap: 20px;
}

.ftt-gallery,
.ftt-listing-side,
.ftt-contact-panel,
.ftt-seller-panel,
.ftt-listing-copy {
  background: #171717;
}

.ftt-main-photo {
  aspect-ratio: 16 / 9;
}

.ftt-contact-email {
  display: inline-flex;
  margin-top: 8px;
  color: var(--orange);
  font-weight: 900;
  word-break: break-word;
}

.ftt-dark-404 {
  min-height: 45vh;
  display: grid;
  align-content: center;
  justify-items: start;
  margin-top: 32px;
  background: linear-gradient(135deg, #171717, #0d0d0d);
}

@media (min-width: 620px) {
  .ftt-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ftt-browse-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .ftt-category-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ftt-listing-detail {
    grid-template-columns: minmax(0, 1fr) 390px;
  }
}


.ftt-sell-page,
.ftt-submitted-page {
  background:
    linear-gradient(180deg, rgba(249, 115, 22, .08), transparent 420px),
    #111111;
}

.ftt-sell-hero p:not(.ftt-kicker) {
  max-width: 720px;
  margin: 14px 0 0;
  color: #c7c7c7;
  font-size: 17px;
  font-weight: 700;
}

.ftt-sell-layout {
  padding-top: 24px;
  padding-bottom: 64px;
}

.ftt-sell-errors {
  margin-bottom: 16px;
}

.ftt-sell-form {
  display: grid;
  gap: 16px;
}

.ftt-sell-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  background:
    linear-gradient(135deg, rgba(249, 115, 22, .045), transparent 42%),
    #171717;
  border: 1px solid #222222;
  border-radius: 8px;
  box-shadow: 0 18px 60px rgba(0, 0, 0, .22);
}

.ftt-sell-section-head h2 {
  margin: 0;
  color: #fff;
  font-family: "Barlow Condensed", Inter, system-ui, sans-serif;
  font-size: clamp(28px, 6vw, 44px);
  line-height: .95;
  font-weight: 900;
  text-transform: uppercase;
}

.ftt-form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.ftt-form-grid-price {
  align-items: end;
}

.ftt-field {
  display: grid;
  gap: 7px;
  color: #d4d4d4;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.ftt-field span {
  color: #929292;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}

.ftt-required {
  color: #fed7aa;
}

.ftt-required > input,
.ftt-required > select,
.ftt-required > textarea {
  border-color: rgba(249, 115, 22, .34);
}

.ftt-field input,
.ftt-field select,
.ftt-field textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 13px;
  background: #101010;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  color: #f5f5f5;
  font-size: 16px;
  font-weight: 700;
}

.ftt-field textarea {
  min-height: 140px;
  resize: vertical;
}

.ftt-field textarea[name="description"] {
  min-height: 420px;
  resize: vertical;
}

.ftt-field input:focus,
.ftt-field select:focus,
.ftt-field textarea:focus {
  outline: 2px solid rgba(249, 115, 22, .28);
  border-color: var(--orange);
}

.ftt-field input[readonly] {
  color: #d8d8d8;
  background: #151515;
}

.ftt-choice-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  border: 0;
}

.ftt-choice-group legend {
  width: 100%;
  margin-bottom: 2px;
  color: #fed7aa;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.ftt-choice-group label,
.ftt-checkbox-field,
.ftt-tier-option {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: #101010;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  color: #e8e8e8;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}

.ftt-choice-group input,
.ftt-checkbox-field input,
.ftt-tier-option input {
  accent-color: var(--orange);
}

.ftt-rent-delivery-options,
.ftt-rent-delivery-flat {
  display: none;
}

.ftt-rent-delivery-options.is-visible {
  display: flex;
}

.ftt-rent-delivery-flat.is-visible {
  display: flex;
}

.ftt-checkbox-field {
  align-self: end;
  color: #fed7aa;
}

.ftt-consent-field {
  align-self: stretch;
  align-items: flex-start;
  color: #d8d8d8;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}

.ftt-consent-field input {
  margin-top: 3px;
  flex: 0 0 auto;
}

.ftt-consent-field a {
  color: #fed7aa;
  text-decoration-color: rgba(254, 215, 170, .65);
  text-underline-offset: 2px;
}

.ftt-consent-field a:hover {
  color: #fff7ed;
}

.ftt-photo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ftt-photo-grid:empty {
  display: none;
}

.ftt-photo-grid .ftt-photo-preview-tile {
  position: relative;
  isolation: isolate;
  background: #101010;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
}

.ftt-photo-image-wrap {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 6px 6px 0 0;
}

.ftt-photo-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ftt-photo-upload-field {
  gap: 9px;
}

.ftt-photo-uploader {
  position: relative;
}

.ftt-photo-uploader input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}

.ftt-photo-drop-zone {
  display: grid;
  place-items: center;
  gap: 7px;
  min-height: 150px;
  padding: 22px;
  background:
    linear-gradient(135deg, rgba(249, 115, 22, .12), transparent 48%),
    #101010;
  border: 1px dashed rgba(249, 115, 22, .58);
  border-radius: 6px;
  color: #f5f5f5;
  text-align: center;
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.ftt-photo-drop-zone strong {
  font-size: 16px;
  line-height: 1.2;
  text-transform: none;
}

.ftt-photo-drop-zone span {
  max-width: 36rem;
}

.ftt-photo-uploader:focus-within .ftt-photo-drop-zone,
.ftt-photo-drop-zone:focus,
.ftt-photo-drop-zone.is-drag-over {
  outline: none;
  border-color: var(--orange);
  background-color: #17120d;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, .2);
}

.ftt-photo-upload-status {
  min-height: 18px;
  margin: 0;
  color: #bbf7d0;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}

.ftt-photo-upload-status:empty {
  display: none;
}

.ftt-photo-upload-status.is-error {
  color: #fca5a5;
}

.ftt-photo-grid .ftt-photo-preview-tile.is-dragging {
  opacity: .58;
}

.ftt-photo-grid .ftt-photo-preview-tile.is-drop-target {
  border-color: var(--orange);
  box-shadow: 0 0 0 2px rgba(249, 115, 22, .26);
}

.ftt-photo-remove {
  position: absolute;
  z-index: 2;
  top: 7px;
  right: 7px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: #fff;
  background: rgba(0, 0, 0, .72);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.ftt-photo-remove:hover,
.ftt-photo-remove:focus {
  outline: none;
  color: #111;
  background: var(--orange);
  border-color: var(--orange);
}

.ftt-photo-position {
  position: absolute;
  z-index: 2;
  left: 7px;
  top: 7px;
  display: grid;
  place-items: center;
  min-width: 26px;
  height: 26px;
  padding: 0 8px;
  color: #111;
  background: #fed7aa;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.ftt-photo-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 9px;
}

.ftt-photo-control,
.ftt-photo-position-field input {
  min-height: 44px;
}

.ftt-photo-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  color: #f5f5f5;
  background: #171717;
  border: 1px solid #333;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.15;
  cursor: pointer;
}

.ftt-photo-control:hover,
.ftt-photo-control:focus {
  outline: none;
  color: #111;
  background: var(--orange);
  border-color: var(--orange);
}

.ftt-photo-control:disabled,
.ftt-photo-control[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .56;
}

.ftt-photo-primary,
.ftt-photo-position-field,
.ftt-photo-delete-field {
  grid-column: 1 / -1;
}

.ftt-photo-position-field,
.ftt-photo-delete-field {
  margin: 0;
}

.ftt-photo-position-field input {
  width: 100%;
}

.ftt-turnstile-wrap {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.ftt-turnstile-wrap .cf-turnstile,
.ftt-turnstile-wrap iframe {
  max-width: 100%;
}

.ftt-tier-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.ftt-tier-option {
  align-items: flex-start;
}

.ftt-tier-option span {
  display: grid;
  gap: 4px;
}

.ftt-tier-option strong {
  color: #fff;
  font-size: 16px;
  line-height: 1.1;
}

.ftt-tier-option em {
  color: var(--orange);
  font-size: 13px;
  font-style: normal;
}

.ftt-coupon-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: end;
}

.ftt-coupon-status {
  min-height: 24px;
  margin: 0;
  color: #bdbdbd;
  font-size: 14px;
  font-weight: 800;
}

.ftt-coupon-status strong,
.ftt-coupon-status.is-success {
  color: #bbf7d0;
}

.ftt-coupon-status.is-error {
  color: #fecaca;
}

.ftt-notice-box {
  display: grid;
  gap: 6px;
  padding: 16px;
  background: rgba(249, 115, 22, .1);
  border: 1px solid rgba(249, 115, 22, .72);
  border-radius: 8px;
  color: #fed7aa;
}

.ftt-notice-box strong {
  color: #fff7ed;
  font-size: 16px;
  line-height: 1.3;
}

.ftt-notice-box span {
  color: #f7c99f;
  font-size: 14px;
  font-weight: 800;
}

.ftt-honeypot {
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.ftt-submit-listing {
  width: 100%;
  min-height: 54px;
  font-size: 16px;
}

.ftt-submitted-shell {
  min-height: calc(100vh - 260px);
  display: grid;
  align-items: center;
  padding-top: 54px;
  padding-bottom: 54px;
}

.ftt-submitted-card {
  max-width: 760px;
  padding: 24px;
  background:
    linear-gradient(135deg, rgba(249, 115, 22, .12), transparent 44%),
    #171717;
  border: 1px solid #222;
  border-radius: 8px;
}

.ftt-submitted-card h1 {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(42px, 9vw, 76px);
  line-height: .9;
  font-weight: 900;
  text-transform: uppercase;
}

.ftt-submitted-card p {
  margin: 0 0 10px;
  color: #d6d6d6;
  font-size: 17px;
  font-weight: 800;
}

.ftt-submitted-details {
  display: grid;
  gap: 10px;
  margin: 0 0 20px;
  padding: 14px;
  background: #101010;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
}

.ftt-submitted-details div {
  display: grid;
  gap: 4px;
}

.ftt-submitted-details dt {
  color: var(--orange);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.ftt-submitted-details dd {
  margin: 0;
  color: #fff;
  font-weight: 900;
  word-break: break-word;
}

.ftt-submitted-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

@media (min-width: 680px) {
  .ftt-sell-card {
    padding: 22px;
  }

  .ftt-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ftt-photo-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ftt-tier-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ftt-coupon-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .ftt-coupon-row .ftt-btn {
    min-width: 130px;
  }

  .ftt-submitted-card {
    padding: 34px;
  }
}

@media (min-width: 1080px) {
  .ftt-browse-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 619px) {
  .ftt-riding-tease .ftt-wrap {
    width: 100%;
    padding: 0 16px;
  }
}

.ftt-listing-side {
  padding: 16px;
}

.ftt-detail-price {
  color: var(--orange);
  font-size: clamp(34px, 8vw, 58px);
  line-height: .95;
  font-weight: 900;
}

.ftt-listing-side h1 {
  margin: 10px 0 14px;
  font-size: clamp(28px, 5.8vw, 48px);
  line-height: .98;
  font-weight: 900;
  text-transform: uppercase;
}

.ftt-detail-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.ftt-detail-badges span {
  padding: 7px 9px;
  border-radius: 6px;
  background: #101010;
  border: 1px solid var(--border);
  color: var(--text);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.ftt-spec-list {
  display: grid;
  gap: 0;
  margin: 0 0 18px;
  border-top: 1px solid var(--border);
}

.ftt-spec-list div {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}

.ftt-spec-list dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.ftt-spec-list dd {
  margin: 0;
  color: var(--text);
  font-weight: 800;
}

.ftt-contact-panel,
.ftt-seller-panel {
  padding: 14px;
  margin-top: 12px;
  background: #141414;
}

.ftt-contact-panel h2,
.ftt-seller-panel h2,
.ftt-listing-copy h2 {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 900;
  text-transform: uppercase;
}

.ftt-contact-panel p,
.ftt-seller-panel p {
  margin: 0 0 12px;
  color: #bdbdbd;
}

.ftt-phone-result {
  min-height: 24px;
  margin-top: 12px !important;
  color: var(--orange) !important;
  font-size: 20px;
  font-weight: 900;
}

.ftt-listing-copy {
  margin-top: 18px;
  padding: 18px;
}

.ftt-listing-main .ftt-listing-copy,
.ftt-listing-main .ftt-video-embed,
.ftt-listing-main .ftt-video-link {
  margin-top: 0;
}

.ftt-listing-copy > div {
  max-width: 78ch;
  color: #cfcfcf;
  font-size: 16px;
  line-height: 1.7;
}

.ftt-video-embed {
  margin-top: 22px;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #101010;
}

.ftt-video-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.ftt-video-link {
  display: inline-flex;
  margin-top: 18px;
  color: var(--orange);
  font-weight: 900;
}

.ftt-footer {
  margin-top: 30px;
  padding: 44px 0 34px;
  background: var(--ink-2);
  border-top: 1px solid var(--line-2);
}

.ftt-footer::before {
  content: "";
  display: block;
  height: 1px;
  margin-bottom: 30px;
  background: linear-gradient(90deg, var(--accent), transparent 30%);
}

.ftt-footer-inner {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 24px 40px;
  align-items: center;
}

.ftt-footer-brand {
  flex: 0 0 auto;
  transform: translateY(-10px);
  padding-top: 6px;
}

.ftt-footer-logo img {
  width: 120px;
  opacity: .9;
}

.ftt-footer-tagline {
  margin: 0;
  color: var(--muted-2);
  font-size: 13px;
  line-height: 1.45;
}

.ftt-footer-nav {
  flex: 1 1 520px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.ftt-footer-primary-links,
.ftt-footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.ftt-footer-primary-links {
  gap: 0;
}

.ftt-footer-links {
  column-gap: 22px;
  row-gap: 8px;
}

.ftt-footer-primary-links a,
.ftt-footer-links a,
.ftt-footer-primary-links .ftt-footer-link-button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  color: var(--sand);
  font-family: var(--mono);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: normal;
  line-height: 1.4;
  text-decoration: none;
}

.ftt-footer-primary-links a,
.ftt-footer-primary-links .ftt-footer-link-button {
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ftt-footer-links a {
  text-transform: none;
}

.ftt-footer-primary-links a:not(:last-child)::after,
.ftt-footer-primary-links .ftt-footer-link-button:not(:last-child)::after {
  content: "|";
  margin: 0 11px;
  color: var(--muted-2);
}

.ftt-footer-primary-links a:hover,
.ftt-footer-links a:hover,
.ftt-footer-primary-links .ftt-footer-link-button:hover,
.ftt-footer-primary-links .ftt-footer-link-button:focus-visible {
  color: var(--accent-text, var(--accent));
}

.ftt-footer-divider {
  width: 100%;
  height: 1px;
  margin: 6px 0;
  background: linear-gradient(90deg, var(--accent), transparent);
}

.ftt-footer-legal {
  flex: 0 0 100%;
  display: grid;
  gap: 6px;
  margin-top: 10px;
  text-align: left;
}

.ftt-footer-credit a {
  color: inherit;
}

.ftt-footer p {
  margin: 0;
  color: var(--muted-2);
  font-size: 13px;
  line-height: 1.5;
}

.ftt-footer-small-print {
  max-width: 640px;
  color: var(--bone) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

@media (max-width: 768px) {
  .ftt-footer-inner {
    gap: 18px 28px;
  }

  .ftt-footer-brand {
    flex: 0 0 100%;
    display: flex;
    justify-content: center;
    transform: none;
  }

  .ftt-footer-logo img {
    width: 104px;
  }

  .ftt-footer-nav {
    flex-basis: 100%;
    gap: 10px;
  }

  .ftt-footer-primary-links a,
  .ftt-footer-links a,
  .ftt-footer-primary-links .ftt-footer-link-button {
    font-size: 11px;
  }

  .ftt-footer-tagline,
  .ftt-footer-small-print {
    max-width: 520px;
  }
}

@media (max-width: 520px) {
  .ftt-footer {
    padding: 38px 0 30px;
  }

  .ftt-footer-inner {
    width: min(100% - 28px, 1180px);
  }

  .ftt-footer-links {
    column-gap: 16px;
    row-gap: 4px;
  }

  .ftt-footer-primary-links a,
  .ftt-footer-links a,
  .ftt-footer-primary-links .ftt-footer-link-button {
    min-height: 40px;
    font-size: 10.5px;
    letter-spacing: normal;
  }

  .ftt-footer-primary-links a:not(:last-child)::after,
  .ftt-footer-primary-links .ftt-footer-link-button:not(:last-child)::after {
    margin: 0 8px;
  }
}

.ftt-small-print {
  color: var(--bone) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.ftt-auth-page,
.ftt-legal-page {
  background:
    radial-gradient(circle at 78% 12%, rgba(249, 115, 22, .14), transparent 28%),
    linear-gradient(180deg, #111 0%, #0d0d0d 100%);
}

.ftt-auth-page {
  min-height: calc(100vh - 72px);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111111;
}

.ftt-auth-shell {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  padding: 60px 20px;
}

.ftt-auth-shell-narrow {
  max-width: 480px;
}

.ftt-auth-copy {
  min-height: 320px;
  display: grid;
  align-content: end;
  padding: 28px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .1), rgba(0, 0, 0, .78)),
    linear-gradient(120deg, rgba(249, 115, 22, .22), rgba(17, 17, 17, .08)),
    url("/assets/images/ftt-trifecta.png") center / cover no-repeat;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.ftt-auth-copy h1 {
  max-width: 620px;
  margin: 0;
  color: #fff;
  font-size: clamp(48px, 10vw, 86px);
  line-height: .88;
  font-weight: 900;
  text-transform: uppercase;
}

.ftt-auth-copy p:not(.ftt-kicker) {
  max-width: 560px;
  margin: 16px 0 0;
  color: #d8d8d8;
  font-size: 18px;
  font-weight: 700;
}

.ftt-auth-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 40px;
  background: #171717;
  border: 1px solid #2a2a2a;
  border-radius: 8px;
  box-shadow: 0 0 0 1px #2a2a2a, 0 24px 80px rgba(0, 0, 0, .6), 0 0 60px rgba(249, 115, 22, .04);
}

.ftt-auth-card .ftt-kicker {
  margin-bottom: 8px;
  color: #f97316;
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.ftt-auth-card h1,
.ftt-auth-card h2 {
  margin: 0 0 24px;
  color: #fff;
  font-family: "Barlow Condensed", Inter, system-ui, sans-serif;
  font-size: 52px;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
}

.ftt-form-field {
  margin-bottom: 16px;
}

.ftt-form-field:last-of-type {
  margin-bottom: 20px;
}

.ftt-form-field label,
.ftt-auth-card label {
  display: block;
  margin-bottom: 6px;
  color: #888888;
  font-size: 13px;
  font-weight: 600;
  text-transform: none;
}

.ftt-auth-card label span {
  color: #666666;
  font-weight: 600;
  text-transform: none;
}

.ftt-auth-card input {
  width: 100%;
  min-height: 48px;
  display: block;
  padding: 14px 16px;
  background: #0d0d0d;
  border: 1px solid #2a2a2a;
  border-radius: 6px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 500;
  transition: border-color .16s ease, box-shadow .16s ease;
}

.ftt-auth-card input:focus {
  outline: none;
  border-color: #f97316;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, .2);
}

.ftt-field-note {
  margin: 7px 0 0;
  color: #777777;
  font-size: 12px;
  font-weight: 700;
}

.ftt-auth-card .ftt-btn,
.ftt-auth-card .ftt-btn-primary {
  width: 100%;
  min-height: 52px;
}

.ftt-auth-card .ftt-btn-primary {
  padding: 15px;
  background: #f97316;
  border: 0;
  border-radius: 6px;
  color: #ffffff;
  font-family: "Barlow Condensed", Inter, system-ui, sans-serif;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.ftt-auth-card .ftt-btn-primary:hover {
  background: #cc5f00;
  box-shadow: 0 4px 20px rgba(249, 115, 22, .3);
}

.ftt-alert {
  padding: 12px 13px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 800;
}

.ftt-alert p {
  margin: 0;
}

.ftt-alert p + p {
  margin-top: 6px;
}

.ftt-alert-error {
  margin-bottom: 20px;
  padding: 12px 16px;
  color: #fca5a5;
  background: rgba(220, 38, 38, .1);
  border: 1px solid rgba(220, 38, 38, .3);
  border-radius: 6px;
  font-size: 14px;
}

.ftt-alert-success {
  color: #bbf7d0;
  background: rgba(34, 197, 94, .12);
  border: 1px solid rgba(34, 197, 94, .3);
}

.ftt-or-divider,
.ftt-auth-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 20px 0;
  color: #B8B8B8;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.ftt-or-divider::before,
.ftt-or-divider::after,
.ftt-auth-divider::before,
.ftt-auth-divider::after {
  content: "";
  height: 1px;
  flex: 1;
  background: #2a2a2a;
}

.ftt-social-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.ftt-social-btn {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 16px;
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 6px;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}

.ftt-social-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.ftt-auth-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  margin-top: 20px;
  padding-top: 0;
  font-size: 13px;
}

.ftt-auth-links a {
  color: #888888;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.ftt-auth-links a:hover {
  color: #f97316;
}

.ftt-legal-layout {
  padding-top: 24px;
  padding-bottom: 58px;
}

.ftt-legal-card {
  max-width: 880px;
  padding: 22px;
  background: #171717;
  border: 1px solid var(--border);
  border-radius: 8px;
}

.ftt-legal-card h2 {
  margin: 30px 0 8px;
  color: #fff;
  font-size: clamp(28px, 5vw, 42px);
  line-height: .95;
  font-weight: 900;
  text-transform: uppercase;
}

.ftt-legal-card h2:first-of-type {
  margin-top: 0;
}

.ftt-legal-card p {
  max-width: 74ch;
  margin: 0 0 14px;
  color: #cfcfcf;
  font-size: 16px;
  line-height: 1.75;
}

.ftt-legal-intro {
  color: #f3f3f3 !important;
  font-size: 19px !important;
  font-weight: 800;
}

.ftt-legal-card a {
  color: var(--orange);
  font-weight: 900;
}

@media (min-width: 620px) {
  .ftt-category-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .ftt-browse-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ftt-results-bar {
    grid-template-columns: 1fr auto;
  }

  .ftt-sort-form select {
    width: 210px;
  }
}

@media (min-width: 900px) {
  .ftt-nav-links {
    display: flex;
  }

  .ftt-menu-toggle,
  .ftt-mobile-menu,
  .ftt-filter-drawer {
    display: none !important;
  }

  .ftt-section {
    padding: 62px 0;
  }

  .ftt-category-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
  }

  .ftt-category-tile {
    min-height: 128px;
    padding: 16px;
  }

  .ftt-browse-layout {
    grid-template-columns: 282px 1fr;
    gap: 22px;
  }

  .ftt-filter-panel {
    position: sticky;
    top: 92px;
  }

  .ftt-listing-detail {
    grid-template-columns: minmax(0, 1fr) 390px;
    align-items: start;
  }

  .ftt-listing-side {
    position: sticky;
    top: 92px;
  }

  .ftt-auth-shell {
    max-width: 480px;
    padding: 60px 20px;
  }

  .ftt-auth-shell-narrow {
    max-width: 480px;
  }

  .ftt-auth-copy {
    min-height: 560px;
    padding: 36px;
  }

  .ftt-auth-card {
    padding: 40px;
  }

  .ftt-legal-card {
    padding: 26px;
  }
}

@media (min-width: 1080px) {
  .ftt-browse-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 619px) {
  .ftt-section-head {
    align-items: start;
    flex-direction: column;
  }

  .ftt-auth-card h1,
  .ftt-auth-card h2 {
    font-size: 44px;
  }

  .ftt-hero-actions .ftt-btn {
    width: 100%;
  }

  .ftt-card-price {
    font-size: 24px;
  }
}
*,
*::before,
*::after {
box-sizing: border-box; margin: 0; padding: 0;
}

.nav {
position: sticky; top: 0; z-index: 100; background: rgba(13,13,13,.95); backdrop-filter: blur(16px); border-bottom: 1px solid var(--bd); padding: 0 20px; height: 64px; display: flex; align-items: center; justify-content: space-between;
}

.nav-logo {
height: 40px;
}

.nav-links {
display: none; gap: 4px; align-items: center;
}

.nav-links a {
font-size: 14px; color: var(--muted); padding: 8px 14px; border-radius: 6px; transition: all .15s;
}

.nav-links a:hover {
color: var(--text); background: rgba(255,255,255,.05);
}

.nav-cta {
background: var(--accent); color: #fff7ed; padding: 10px 20px; border-radius: 8px; font-weight: 700; font-size: 14px; transition: background .2s; min-height: 44px; display: inline-flex; align-items: center;
}

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

.wrap {
max-width: 1200px; margin: 0 auto; padding: 0 20px;
}

.section {
padding: 48px 0;
}

.hero {
position: relative; padding: 100px 20px 60px; text-align: center; background: linear-gradient(180deg, rgba(229,57,53,.08) 0%, transparent 60%);
}

.hero h1 {
font-size: 32px; font-weight: 800; margin-bottom: 16px; letter-spacing: -.02em;
}

.hero h1 span {
color: var(--accent);
}

.hero p {
font-size: 16px; color: var(--muted); max-width: 560px; margin: 0 auto 28px;
}

.hero-btns {
display: flex; flex-direction: column; gap: 12px; max-width: 320px; margin: 0 auto;
}

.hero-stats {
display: flex; justify-content: center; gap: 32px; margin-top: 36px;
}

.hero-stat {
text-align: center;
}

.hero-stat .lbl {
font-size: 12px; color: var(--muted);
}

.cats {
display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 32px;
}

.cat-pill {
background: var(--surface); border: 1px solid var(--bd); color: var(--muted); padding: 8px 18px; border-radius: 100px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all .15s;
}

.cat-pill:hover,
.cat-pill.active {
background: var(--accent); color: #fff7ed; border-color: var(--accent);
}

img.listing-img {
display: block;
}

.listing-badges {
display: flex; gap: 6px; margin-bottom: 8px;
}

.badge {
font-size: 10px; font-weight: 700; padding: 3px 10px; border-radius: 100px; text-transform: uppercase; letter-spacing: .05em;
}

.badge-featured {
background: var(--gold); color: #000;
}

.badge-cat {
background: rgba(229,57,53,.15); color: var(--accent);
}

.badge-pending {
background: rgba(255,179,0,.15); color: var(--gold);
}

.badge-approved {
background: rgba(67,160,71,.15); color: var(--green);
}

.listing-desc {
font-size: 14px; color: var(--muted); margin-top: 10px; line-height: 1.6;
}

.sh {
font-size: 24px; font-weight: 800; margin-bottom: 8px;
}

.sh span {
color: var(--accent);
}

.sp {
font-size: 14px; color: var(--muted); margin-bottom: 24px;
}

.btn {
display: inline-flex; align-items: center; justify-content: center; padding: 12px 24px; border-radius: 8px; font-weight: 700; font-size: 14px; font-family: 'Plus Jakarta Sans', sans-serif; border: none; cursor: pointer; transition: all .2s; min-height: 44px;
}

.btn-red {
background: var(--accent); color: #fff7ed;
}

.btn-red:hover {
background: var(--accent-hover);
}

.btn-outline {
background: transparent; border: 1px solid var(--bd); color: var(--text);
}

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

.btn-green {
background: var(--green); color: #fff;
}

.btn-green:hover {
background: #4CAF50;
}

.btn-sm {
padding: 8px 16px; font-size: 13px;
}

.btn-block {
width: 100%;
}

.form-group {
margin-bottom: 16px;
}

.form-group label {
display: block; font-size: 13px; font-weight: 600; color: var(--muted); margin-bottom: 6px;
}

.form-control {
width: 100%; padding: 12px 14px; background: var(--surface); border: 1px solid var(--bd); border-radius: 8px; color: var(--text); font-size: 15px; font-family: 'DM Sans', sans-serif; min-height: 44px;
}

.form-control:focus {
outline: none; border-color: var(--accent);
}

textarea.form-control {
min-height: 100px; resize: vertical;
}

select.form-control {
appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center;
}

.admin-card h3 {
font-size: 16px; margin-bottom: 4px;
}

.admin-card .meta {
font-size: 13px; color: var(--muted); margin-bottom: 12px;
}

.footer {
border-top: 1px solid var(--bd); padding: 32px 16px; text-align: center;
}

.footer-logo {
height: 60px; margin: 0 auto 12px;
}

.footer p {
font-size: 13px; color: var(--muted);
}

@media (min-width: 768px) {
.wrap {
padding: 0 24px;
}

.section {
padding: 64px 0;
}

.hero h1 {
font-size: 48px;
}

.hero-btns {
flex-direction: row; max-width: none; justify-content: center;
}

.nav-links {
display: flex;
}

.listings-grid {
grid-template-columns: repeat(2, 1fr);
}

.sh {
font-size: 30px;
}
}

@media (min-width: 1024px) {
.hero h1 {
font-size: 56px;
}
}

@media (hover: hover) {
.listing-card:hover {
transform: translateY(-2px); transition: all .2s;
}
}

*,
*::before,
*::after {
box-sizing: border-box;
}

.ftt-section-tight {
padding-top: 20px;
}

.ftt-nav-links {
display: none;
  align-items: center;
  gap: 4px;
}

.ftt-nav-dropdown {
position: relative;
}

.ftt-nav-dropdown::after {
content: "";
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 9;
  display: none;
  width: 280px;
  height: 10px;
}

.ftt-nav-dropdown:hover::after,
.ftt-nav-dropdown:focus-within::after,
.ftt-nav-dropdown.is-open::after {
display: block;
}

.ftt-nav-dropdown:hover .ftt-nav-dropdown-menu,
.ftt-nav-dropdown:focus-within .ftt-nav-dropdown-menu,
.ftt-nav-dropdown.is-open .ftt-nav-dropdown-menu {
display: grid;
}

.ftt-nav-dropdown-menu a {
min-height: 38px;
  border-radius: 6px;
}

.ftt-mobile-menu.is-open {
display: grid;
}

.ftt-mobile-menu a {
padding: 13px 4px;
  border-bottom: 1px solid var(--border);
  color: var(--text);
  font-weight: 800;
  text-decoration: none;
}

.ftt-hero p:not(.ftt-kicker) {
max-width: 580px;
  margin: 22px 0 0;
  color: #b9b9b9;
  font-size: clamp(17px, 2.6vw, 22px);
  font-weight: 600;
}

.ftt-card-title a {
color: inherit;
  text-decoration: none;
}

.ftt-placeholder-card {
opacity: .82;
}

.ftt-browse-layout {
display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  padding-top: 22px;
  padding-bottom: 54px;
}

.ftt-filter-panel form {
display: grid;
  gap: 14px;
}

.ftt-price-row {
display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.ftt-filter-group.is-hidden {
display: none;
}

.ftt-results {
min-width: 0;
}

.ftt-results-bar {
display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: center;
  margin-bottom: 16px;
}

.ftt-empty-state,
.ftt-error-page {
padding: 44px 18px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.ftt-error-page h1 {
margin: 0 0 8px;
  font-size: 30px;
  font-weight: 900;
}

.ftt-empty-state p,
.ftt-error-page p {
margin: 0;
  color: var(--muted);
}

.ftt-pagination {
display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}

.ftt-listing-detail {
display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.ftt-thumbs img {
width: 100%;
  height: 100%;
  object-fit: cover;
}

.ftt-spectrum-hero p:not(.ftt-kicker) {
max-width: 760px;
  text-align: center;
}

.ftt-browse-layout {
align-items: start;
}

.ftt-filter-drawer[open] summary {
border-bottom: 1px solid var(--border);
}

.ftt-filter-drawer-body .ftt-filter-panel {
border: 0;
  border-radius: 0;
}

.ftt-empty-state .ftt-btn,
.ftt-market-empty .ftt-btn,
.ftt-dark-404 .ftt-btn {
margin-top: 18px;
}

.ftt-market-empty {
text-align: center;
}

.ftt-riding-tease {
padding: 20px 0;
  background: #0d0d0d;
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
  color: #fed7aa;
}

.ftt-riding-tease .ftt-wrap {
display: flex;
  gap: 14px;
  align-items: center;
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: thin;
}

.ftt-riding-tease strong {
color: var(--orange);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.ftt-riding-tease span {
color: #B8B8B8;
  font-weight: 400;
}

.ftt-riding-tease a {
color: #d6a77e;
  font-weight: 800;
  text-decoration: none;
  transition: color 150ms ease;
}

.ftt-riding-tease a:hover {
color: var(--orange);
}

.ftt-listing-detail {
grid-template-columns: 1fr;
  gap: 20px;
}

.ftt-dark-404 {
min-height: 45vh;
  display: grid;
  align-content: center;
  justify-items: start;
  margin-top: 32px;
  background: linear-gradient(135deg, #171717, #0d0d0d);
}

@media (min-width: 620px) {
.ftt-category-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ftt-browse-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}

@media (min-width: 900px) {
.ftt-category-grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ftt-listing-detail {
grid-template-columns: minmax(0, 1fr) 390px;
}
}

.ftt-sell-layout {
padding-top: 24px;
  padding-bottom: 64px;
}

.ftt-sell-errors {
margin-bottom: 16px;
}

.ftt-form-grid {
display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.ftt-form-grid-price {
align-items: end;
}

.ftt-choice-group {
display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  border: 0;
}

.ftt-rent-delivery-options,
.ftt-rent-delivery-flat {
display: none;
}

.ftt-rent-delivery-options.is-visible {
display: flex;
}

.ftt-rent-delivery-flat.is-visible {
display: flex;
}

.ftt-consent-field {
align-self: stretch;
  align-items: flex-start;
  color: #d8d8d8;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}

.ftt-consent-field input {
margin-top: 3px;
  flex: 0 0 auto;
}

.ftt-consent-field a {
color: #fed7aa;
  text-decoration-color: rgba(254, 215, 170, .65);
  text-underline-offset: 2px;
}

.ftt-consent-field a:hover {
color: #fff7ed;
}

.ftt-photo-grid {
display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ftt-photo-grid:empty {
display: none;
}

.ftt-photo-grid img {
width: 100%;
  height: 100%;
  object-fit: cover;
}

.ftt-photo-upload-field {
gap: 9px;
}

.ftt-photo-uploader {
position: relative;
}

.ftt-photo-drop-zone strong {
font-size: 16px;
  line-height: 1.2;
  text-transform: none;
}

.ftt-photo-drop-zone span {
max-width: 36rem;
}

.ftt-photo-upload-status:empty {
display: none;
}

.ftt-photo-grid .ftt-photo-preview-tile {
position: relative;
  isolation: isolate;
}

.ftt-photo-grid .ftt-photo-preview-tile.is-dragging {
opacity: .58;
}

.ftt-photo-remove {
position: absolute;
  z-index: 2;
  top: 7px;
  right: 7px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: #fff;
  background: rgba(0, 0, 0, .72);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.ftt-tier-option span {
display: grid;
  gap: 4px;
}

.ftt-coupon-row {
display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: end;
}

.ftt-coupon-status {
min-height: 24px;
  margin: 0;
  color: #bdbdbd;
  font-size: 14px;
  font-weight: 800;
}

.ftt-coupon-status strong {
color: #bbf7d0;
}

.ftt-notice-box span {
color: #f7c99f;
  font-size: 14px;
  font-weight: 800;
}

.ftt-honeypot {
position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}

.ftt-submitted-details div {
display: grid;
  gap: 4px;
}

.ftt-submitted-actions {
display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

@media (min-width: 680px) {
.ftt-sell-card {
padding: 22px;
}

.ftt-form-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ftt-photo-grid {
grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ftt-tier-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ftt-coupon-row {
grid-template-columns: minmax(0, 1fr) auto;
}

.ftt-coupon-row .ftt-btn {
min-width: 130px;
}

.ftt-submitted-card {
padding: 34px;
}
}

@media (min-width: 1080px) {
.ftt-browse-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}

@media (max-width: 619px) {
.ftt-riding-tease .ftt-wrap {
width: 100%;
    padding: 0 16px;
}
}

.ftt-detail-badges {
display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.ftt-video-embed iframe {
width: 100%;
  height: 100%;
  border: 0;
}

.ftt-auth-shell {
width: 100%;
  max-width: 480px;
  margin: 0 auto;
  padding: 60px 20px;
}

.ftt-auth-shell-narrow {
max-width: 480px;
}

.ftt-form-field {
margin-bottom: 16px;
}

.ftt-form-field:last-of-type {
margin-bottom: 20px;
}

.ftt-auth-card label span {
color: #666666;
  font-weight: 600;
  text-transform: none;
}

.ftt-field-note {
margin: 7px 0 0;
  color: #777777;
  font-size: 12px;
  font-weight: 700;
}

.ftt-auth-card .ftt-btn {
width: 100%;
  min-height: 52px;
}

.ftt-alert {
padding: 12px 13px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 800;
}

.ftt-alert p {
margin: 0;
}

.ftt-alert p + p {
margin-top: 6px;
}

.ftt-social-actions {
display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.ftt-social-btn:disabled {
opacity: .45;
  cursor: not-allowed;
}

.ftt-auth-links {
display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  margin-top: 20px;
  padding-top: 0;
  font-size: 13px;
}

.ftt-auth-links a {
color: #888888;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.ftt-legal-layout {
padding-top: 24px;
  padding-bottom: 58px;
}

.ftt-legal-card h2:first-of-type {
margin-top: 0;
}

@media (min-width: 620px) {
.ftt-category-grid {
grid-template-columns: repeat(3, 1fr);
}

.ftt-browse-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ftt-results-bar {
grid-template-columns: 1fr auto;
}

.ftt-sort-form select {
width: 210px;
}
}

@media (min-width: 900px) {
.ftt-nav-links {
display: flex;
}

.ftt-menu-toggle,
.ftt-mobile-menu,
.ftt-filter-drawer {
display: none !important;
}

.ftt-section {
padding: 62px 0;
}

.ftt-category-grid {
grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.ftt-category-tile {
min-height: 128px;
    padding: 16px;
}

.ftt-browse-layout {
grid-template-columns: 282px 1fr;
    gap: 22px;
}

.ftt-filter-panel {
position: sticky;
    top: 92px;
}

.ftt-listing-detail {
grid-template-columns: minmax(0, 1fr) 390px;
    align-items: start;
}

.ftt-listing-side {
position: sticky;
    top: 92px;
}

.ftt-auth-shell {
max-width: 480px;
    padding: 60px 20px;
}

.ftt-auth-shell-narrow {
max-width: 480px;
}

.ftt-auth-copy {
min-height: 560px;
    padding: 36px;
}

.ftt-auth-card {
padding: 40px;
}

.ftt-legal-card {
padding: 26px;
}
}

@media (min-width: 1080px) {
.ftt-browse-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}

@media (max-width: 619px) {
.ftt-section-head {
align-items: start;
    flex-direction: column;
}

.ftt-auth-card h1,
.ftt-auth-card h2 {
font-size: 44px;
}

.ftt-hero-actions .ftt-btn {
width: 100%;
}

.ftt-card-price {
font-size: 24px;
}
}

:root {

  --ink:        #131009;
  --ink-2:      #181410;
  --panel:      #1C1711;
  --panel-2:    #241D15;
  --panel-3:    #2C241A;

  --bone:       #EDE4D2;
  --cat-icon-color: var(--bone);
  --bone-dim:   #CDC1AB;
  --sand:       #A89A80;
  --muted:      #B2A48A;
  --muted-2:    #9C8F78;

  --line:        rgba(237,228,210,.09);
  --line-2:      rgba(237,228,210,.15);
  --line-strong: rgba(237,228,210,.26);

  --accent:      #4FA39E;
  --accent-2:    #3C817C;
  --accent-ink:  #07201E;
  --accent-text: var(--accent);
  --accent-soft: rgba(79,163,158,.14);

  --brass:   #BD9A5F;
  --brass-2: #8F7038;
  --brass-text: var(--brass);
  --brass-2-text: #997D4A;

  --sage:   #84A06E;
  --amber:  #CFA541;
  --danger: #C44A30;
  --status-ok: #2E9E4F;

  --carbon-weave: #34312B;

  --r:   3px;
  --r-2: 5px;
  --shadow:    0 28px 70px -34px rgba(0,0,0,.78);
  --shadow-sm: 0 12px 30px -18px rgba(0,0,0,.7);
  --focus-ring: #F4D06F;
  --focus-halo: rgba(7, 32, 30, .85);

  --display: "Archivo Expanded","Archivo",system-ui,sans-serif;
  --sans:    "Archivo",system-ui,-apple-system,sans-serif;
  --mono:    "Martian Mono",ui-monospace,"SFMono-Regular",monospace;

  --bg: var(--ink);
  --card: var(--panel);
  --card-hover: var(--panel-2);
  --border: var(--line-2);
  --border-bright: var(--line-strong);
  --orange: var(--accent);
  --orange-dark: var(--accent-2);
  --ember: var(--accent);
  --ember-2: var(--accent-2);
  --ember-ink: var(--accent-ink);
  --ember-soft: var(--accent-soft);
  --steel: var(--brass-text, var(--brass));
  --steel-2: var(--brass-2-text, var(--brass-2));
  --text: var(--bone);
  --muted-bright: var(--sand);
  --radius: var(--r);
  --radius-lg: var(--r-2);
}

html { background: var(--ink); }
body {
  --ftt-shell-max: 1200px;
  --ftt-shell-gutter: 20px;
  color: var(--bone);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  background-color: var(--ink);
  background-image:
    linear-gradient(135deg, var(--carbon-weave) 25%, transparent 25%),
    linear-gradient(225deg, var(--carbon-weave) 25%, transparent 25%),
    linear-gradient(315deg, var(--carbon-weave) 25%, transparent 25%),
    linear-gradient(45deg,  var(--carbon-weave) 25%, transparent 25%);
  background-position: -3px 0, -3px 0, 0 0, 0 0;
  background-size: 6px 6px;
}
body, button, input, select, textarea { font-family: var(--sans); }
::selection { background: var(--accent); color: var(--accent-ink); }

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.ftt-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
:focus-visible {
  outline: 3px solid var(--focus-ring) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px var(--focus-halo) !important;
}
.ftt-skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 14px;
  background: var(--bone);
  color: var(--ink);
  border: 2px solid var(--focus-ring);
  border-radius: var(--r);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  transform: translateY(-160%);
}
.ftt-skip-link:focus,
.ftt-skip-link:focus-visible {
  transform: translateY(0);
}
#main-content {
  scroll-margin-top: calc(var(--ftt-nav-height, 72px) + 96px);
}
.ftt-legal-card h2[id] {
  scroll-margin-top: calc(var(--ftt-nav-height, 72px) + 128px);
}
@media (forced-colors: active) {
  :focus-visible {
    outline: 2px solid Highlight !important;
    outline-offset: 3px !important;
    box-shadow: none !important;
  }
  .ftt-skip-link {
    border-color: Highlight;
  }
}
[hidden] {
  display: none !important;
}
.ftt-field-error {
  display: block;
  margin-top: 7px;
  color: #F0B7A6;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}
[aria-invalid="true"] {
  border-color: #E17A5D !important;
}
.ftt-wrap, .ftt-hero-inner, .ftt-footer-inner {
  width: min(var(--ftt-shell-max), calc(100% - (var(--ftt-shell-gutter) * 2)));
  margin-inline: auto;
}

@media (min-width: 1400px) {
  body {
    --ftt-shell-max: 1500px;
  }
}

.ftt-carbon {
  background-color: var(--ink);
  background-image:
    linear-gradient(135deg, var(--carbon-weave) 25%, transparent 25%),
    linear-gradient(225deg, var(--carbon-weave) 25%, transparent 25%),
    linear-gradient(315deg, var(--carbon-weave) 25%, transparent 25%),
    linear-gradient(45deg,  var(--carbon-weave) 25%, transparent 25%);
  background-position: -3px 0, -3px 0, 0 0, 0 0;
  background-size: 6px 6px;
}

h1, h2, h3, h4,
.ftt-section-head h2, .ftt-hero h1, .ftt-spectrum-hero h1, .ftt-page-hero h1,
.ftt-card-title, .listing-title, .ftt-auth-card h1, .ftt-auth-card h2,
.ftt-legal-card h2, .ftt-sell-section-head h2, .ftt-submitted-card h1,
.ftt-empty-state h2, .ftt-listing-side h1 {
  font-family: var(--display);
  font-weight: 800;
  letter-spacing: -0.02em;
  text-transform: none;
  color: var(--bone);
}

.ftt-kicker, .ftt-auth-card .ftt-kicker {
  display: inline-block;
  margin: 0 0 18px;
  padding-bottom: 4px;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .01em;
  text-transform: none;
  color: var(--accent-text, var(--accent));
  border-bottom: 1px solid var(--accent-soft);
}

.ftt-nav {
  position: sticky; top: 0; z-index: 200;
  min-height: 66px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 0 max(var(--ftt-shell-gutter), calc((100vw - var(--ftt-shell-max)) / 2));
  padding-top: env(safe-area-inset-top, 0px);
  background: rgba(19,16,9,.72);
  border-bottom: 1px solid var(--line-2);
  backdrop-filter: blur(16px) saturate(1.1);
}
html body { --ftt-ticker-top: calc(var(--ftt-nav-height, 72px) + env(safe-area-inset-top, 0px)); }
.ftt-nav::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 2px;
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent-2) 22%, transparent 60%);
}
.ftt-logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding-block: 8px;
  line-height: 0;
}
.ftt-logo img {
  width: var(--ftt-logo-width);
  height: auto;
  max-height: calc(var(--ftt-nav-height, 66px) - 18px);
}
.ftt-nav-links a, .ftt-nav-dropdown > button {
  padding: 8px 13px;
  font-family: var(--mono); font-size: 12px; font-weight: 400;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--sand); background: transparent; border: 0; cursor: pointer;
  transition: color .15s ease;
}
.ftt-nav-search,
.ftt-mobile-search {
  display: flex;
  align-items: center;
  gap: 6px;
}
.ftt-nav-search input,
.ftt-mobile-search input {
  min-height: 40px;
  width: clamp(160px, 14vw, 230px);
  padding: 9px 11px;
  background: var(--ink-2);
  border: 1px solid var(--line-2);
  border-radius: var(--r);
  color: var(--bone);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
}
.ftt-nav-search input::placeholder,
.ftt-mobile-search input::placeholder { color: var(--muted); opacity: 1; }
.ftt-nav-search input:focus,
.ftt-mobile-search input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent);
}
.ftt-nav-search button,
.ftt-mobile-search button {
  min-height: 40px;
  padding: 9px 12px;
  background: transparent;
  border: 1px solid var(--line-2);
  border-radius: var(--r);
  color: var(--sand);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .01em;
}
.ftt-nav-search button:hover,
.ftt-mobile-search button:hover { border-color: var(--line-strong); color: var(--bone); }
.ftt-mobile-search {
  padding: 10px 12px;
  border-bottom: 1px solid var(--line-2);
}
.ftt-mobile-search input { width: 100%; }
.ftt-nav-links a:hover, .ftt-nav-dropdown:hover > button,
.ftt-nav-dropdown.is-open > button,
.ftt-nav-dropdown:focus-within > button { color: var(--bone); }
.ftt-nav-dropdown-menu a:focus,
.ftt-nav-dropdown-menu a:focus-visible {
  color: var(--bone);
  background: var(--panel-2);
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}
.ftt-nav-links .ftt-nav-cta, .ftt-mobile-menu .ftt-nav-cta {
  min-height: 40px; margin-left: 10px; padding: 10px 20px;
  background: var(--accent); color: var(--accent-ink); border-radius: var(--r);
  font-family: var(--mono); font-size: 12px; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20);
}
.ftt-nav-links .ftt-nav-cta:hover, .ftt-mobile-menu .ftt-nav-cta:hover { background: var(--bone); color: var(--ink); }
.ftt-nav-dropdown-menu, .ftt-mobile-menu { background: var(--panel); border-color: var(--line-2); }
.ftt-menu-toggle { border-color: var(--line-2); background: rgba(19,16,9,.7); border-radius: var(--r); }
.ftt-menu-toggle span { background: var(--bone); }

.ftt-btn {
  min-height: 48px; gap: 10px; padding: 13px 26px;
  border: 1px solid var(--line-2); border-radius: var(--r);
  font-family: var(--mono); font-size: 12.5px; font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.ftt-btn:hover { transform: none; }
.ftt-btn-primary {
  background: var(--accent); border-color: var(--accent); color: var(--accent-ink);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
}
.ftt-btn-primary:hover { background: var(--bone); border-color: var(--bone); color: var(--ink); box-shadow: none; }
.ftt-btn-ghost { padding: 13px 26px; background: transparent; border: 1px solid var(--line-2); border-radius: var(--r); color: var(--bone); }
.ftt-btn-ghost:hover { background: var(--bone); border-color: var(--bone); color: var(--ink); }

.ftt-hero, .ftt-spectrum-hero {
  position: relative; overflow: hidden;
  min-height: clamp(520px, 76vh, 760px);
  display: grid; align-items: center;
  padding: 96px 0 84px; text-align: left;
  background: transparent;
  border-bottom: 1px solid var(--line-2);
}
.ftt-hero::before, .ftt-spectrum-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(237,228,210,.03), transparent 34%, rgba(7,6,3,.42));
}
.ftt-hero::after, .ftt-spectrum-hero::after {
  content: ""; position: absolute; left: max(var(--ftt-shell-gutter), calc((100vw - var(--ftt-shell-max)) / 2));
  bottom: 64px; width: 56px; height: 3px; background: var(--accent);
}
.ftt-hero-inner, .ftt-spectrum-hero .ftt-hero-inner { position: relative; z-index: 1; margin: 0 auto; display: block; justify-items: start; }
.ftt-hero h1, .ftt-spectrum-hero h1 {
  max-width: 16ch; margin: 0 0 18px;
  font-family: var(--display); font-weight: 900;
  font-size: clamp(48px, 8.5vw, 104px); line-height: .92; letter-spacing: -0.035em;
  text-transform: none; text-align: left;
}
.ftt-hero h1 span { color: var(--bone); }
.ftt-hero h1 span:last-child { color: var(--accent-text, var(--accent)); }
.ftt-hero h1 span:last-child { display: inline-block; margin-top: 8px; }
.ftt-hero p.ftt-hero-tagline {
  display: inline-block; margin: 0 0 18px;
  font-family: var(--mono); font-size: clamp(13px, 2vw, 15px); font-weight: 500;
  letter-spacing: .01em; text-transform: none; color: var(--sand);
}
.ftt-hero p:not(.ftt-kicker):not(.ftt-hero-tagline),
.ftt-spectrum-hero p:not(.ftt-kicker):not(.ftt-hero-tagline) {
  max-width: 56ch; margin: 0 0 34px; text-align: left;
  color: var(--bone-dim); font-size: clamp(16px, 2.2vw, 19px); font-weight: 400; line-height: 1.6;
}
.ftt-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.ftt-hero-search {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
  width: min(100%, 620px);
  margin: 0 0 18px;
}
.ftt-hero-search input {
  flex: 1 1 280px;
  min-height: 52px;
  padding: 14px 15px;
  background: var(--ink-2);
  border: 1px solid var(--line-strong);
  border-radius: var(--r);
  color: var(--bone);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 500;
}
.ftt-hero-search input::placeholder { color: var(--muted); opacity: 1; }
.ftt-hero-search input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent);
}
.ftt-hero-search .ftt-btn { min-height: 52px; }
.ftt-page-hero { background: transparent; border-bottom: 1px solid var(--line-2); }
.ftt-page-hero h1 { text-transform: none; letter-spacing: -0.025em; }

.ftt-section { padding: 64px 0; background: transparent; }
.ftt-section-head { align-items: end; gap: 24px; margin-bottom: 26px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.ftt-section-head h2 { font-family: var(--display); font-weight: 800; font-size: clamp(28px, 4vw, 46px); line-height: 1; letter-spacing: -0.025em; text-transform: none; }
.ftt-section-head a { font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: .01em; text-transform: none; color: var(--sand); }
.ftt-section-head a:hover { color: var(--accent-text, var(--accent)); }

.ftt-pricing-hero p:not(.ftt-kicker) { max-width: 58ch; color: var(--bone-dim); }
.ftt-pricing-layout { padding: 54px 0 78px; }
.ftt-pricing-section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 0 0 18px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.ftt-pricing-section-head h2 { margin: 0; font-family: var(--display); font-size: clamp(28px, 4vw, 44px); line-height: 1; letter-spacing: -0.02em; color: var(--bone); }
.ftt-pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 42px; }
.ftt-pricing-grid--sale { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ftt-pricing-card { position: relative; display: flex; min-height: 260px; flex-direction: column; justify-content: space-between; gap: 24px; padding: 24px; background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r-2); box-shadow: var(--shadow-sm); }
.ftt-pricing-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, transparent, var(--line-strong), transparent); }
.ftt-pricing-card.is-featured { border-color: color-mix(in srgb, var(--accent) 62%, transparent); }
.ftt-pricing-label { margin: 0 0 10px; color: var(--sand); font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: .01em; }
.ftt-pricing-card h3 { margin: 0; font-family: var(--display); font-size: clamp(54px, 8vw, 82px); line-height: .88; letter-spacing: -0.025em; color: var(--bone); }
.ftt-pricing-period { margin: 10px 0 0; color: var(--accent-text, var(--accent)); font-family: var(--mono); font-size: 12px; font-weight: 500; }
.ftt-pricing-card > p:last-child { margin: 0; color: var(--bone-dim); line-height: 1.6; }
.ftt-pricing-badge { position: absolute; top: -11px; right: 18px; padding: 5px 13px; background: var(--accent); color: var(--accent-ink); border-radius: 2px; font-family: var(--mono); font-size: 11px; font-weight: 600; text-transform: uppercase; }
.ftt-pricing-parts { margin-bottom: 42px; }
.ftt-pricing-parts__head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 0 0 18px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.ftt-pricing-parts__head h2 { margin: 0; color: var(--bone); font-family: var(--display); font-size: clamp(28px, 4vw, 44px); line-height: 1; letter-spacing: -0.02em; }
.ftt-pricing-parts__panel { display: grid; gap: 8px; }
.ftt-pricing-parts__row { display: grid; grid-template-columns: minmax(0, 1fr) 145px 145px 72px minmax(250px, auto); align-items: center; column-gap: 18px; min-height: 64px; padding: 0 18px; background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r); box-shadow: var(--shadow-sm); transition: border-color .15s ease, background .15s ease, transform .15s ease, box-shadow .15s ease; }
.ftt-pricing-parts__row:hover { border-color: #5b6cff; background: rgba(91,108,255,.06); transform: translateY(-2px); }
.ftt-pricing-parts__row:focus-within { border-color: #5b6cff; background: rgba(91,108,255,.06); box-shadow: 0 0 0 2px rgba(91,108,255,.45); }
.ftt-pricing-parts__label { min-width: 0; color: var(--bone); font-family: var(--sans); font-weight: 600; line-height: 1.3; }
.ftt-pricing-parts__price { color: var(--bone); font-family: var(--mono); font-size: 14px; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.ftt-pricing-parts__price strong { color: var(--muted); font-size: 11px; font-weight: 500; }
.ftt-pricing-parts__term { color: var(--muted); font-family: var(--mono); font-size: 11px; white-space: nowrap; }
.ftt-pricing-parts__actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.ftt-pricing-parts__start { display: inline-flex; min-height: 44px; margin: 0; align-items: center; justify-content: flex-end; color: #5b6cff; font-family: var(--mono); font-size: 12px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.ftt-pricing-parts__action-separator { color: var(--muted); }
.ftt-pricing-parts__start:focus-visible { border-radius: var(--r); outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.ftt-pricing-parts__note { margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.ftt-pricing-note { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r-2); }
.ftt-pricing-note p { max-width: 76ch; margin: 0; color: var(--bone-dim); }
.ftt-browse-subcats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.ftt-browse-subcats a { display: inline-flex; min-height: 44px; align-items: center; padding: 8px 14px; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--panel); color: var(--bone-dim); text-decoration: none; }
@media (hover: hover) {
  .ftt-browse-subcats a:hover { border-color: var(--accent); background: var(--panel-2); color: var(--bone); }
}
.ftt-browse-subcats a.is-active { border-color: var(--accent); background: var(--accent); color: var(--accent-ink); font-weight: 600; }
.ftt-browse-subcats a:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
.ftt-browse-subcats--scope { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.ftt-browse-subcats--scope a { flex: 0 0 auto; justify-content: center; min-width: 92px; }
@media (max-width: 860px) {
  .ftt-pricing-grid,
  .ftt-pricing-grid--sale { grid-template-columns: 1fr; }
  .ftt-pricing-card { min-height: 220px; }
  .ftt-pricing-note { align-items: stretch; flex-direction: column; }
  .ftt-pricing-note .ftt-btn { width: 100%; justify-content: center; }
}
@media (max-width: 699px) {
  .ftt-pricing-parts__head { align-items: flex-start; flex-direction: column; gap: 8px; }
  .ftt-pricing-parts__row { box-sizing: border-box; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; grid-template-areas: "label label label" "standard featured term" "actions actions actions"; min-height: 0; padding: 10px 12px 6px; column-gap: 8px; row-gap: 2px; }
  .ftt-pricing-parts__label { font-size: 14px; }
  .ftt-pricing-parts__label { grid-area: label; }
  .ftt-pricing-parts__price--standard { grid-area: standard; text-align: left; }
  .ftt-pricing-parts__price--featured { grid-area: featured; text-align: left; }
  .ftt-pricing-parts__term { grid-area: term; }
  .ftt-pricing-parts__price { font-size: 13px; }
  .ftt-pricing-parts__actions { grid-area: actions; justify-content: flex-start; gap: 8px; }
  .ftt-pricing-parts__start { justify-content: flex-start; }
}
@media (max-width: 359px) {
  .ftt-pricing-parts__price { font-size: 12px; }
  .ftt-pricing-parts__price strong { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .ftt-pricing-parts__row { transition: none; }
  .ftt-pricing-parts__row:hover { transform: none; }
}

.ftt-category-grid { gap: 1px; background: var(--line); border: 1px solid var(--line); grid-template-columns: repeat(4, minmax(0,1fr)); }
.ftt-category-tile { position: relative; min-height: 74px; padding: 12px 14px; gap: 12px; flex-direction: row; align-items: center; justify-content: flex-start; text-align: left; background: var(--panel); border: 0; border-radius: 0; transition: background .18s ease; }

@media (max-width: 1000px) { .ftt-category-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 640px) { .ftt-category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .ftt-category-tile { min-height: 64px; padding: 10px 12px; } }
@media (max-width: 640px) {
  .ftt-hero, .ftt-spectrum-hero {
    min-height: clamp(420px, 68vh, 620px);
    padding: 72px 0 48px;
  }

  .ftt-section { padding: 34px 0; }
  .ftt-section-head { margin-bottom: 20px; }
}
.ftt-category-tile::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: var(--accent); transform: scaleY(0); transform-origin: bottom; transition: transform .2s ease; }
.ftt-category-tile:hover { background: var(--panel-2); transform: none; box-shadow: none; border-color: transparent; }
.ftt-category-tile:hover::after,
.ftt-category-tile.is-active::after { transform: scaleY(1); }
.ftt-category-tile.is-active { background: var(--panel-2); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 60%, transparent); }
.ftt-category-tile > div { flex: 1; display: flex; align-items: center; justify-content: space-between; min-width: 0; text-align: left; }
.ftt-category-tile strong { font-family: var(--display); font-weight: 700; font-size: 16px; letter-spacing: -0.01em; text-transform: none; color: var(--bone); text-align: left; }
.ftt-cat-count { display: inline-flex; align-items: center; margin-left: auto; padding: 1px 7px; background: transparent; border: 1px solid var(--line-strong); border-radius: 2px; font-family: var(--mono); font-size: 11px; font-weight: 500; color: var(--sand); }

.ftt-browse-category-nav { display: grid; gap: 14px; margin-bottom: 26px; padding: 16px 0 26px; border-bottom: 1px solid var(--line); }
.ftt-browse-category-nav + .ftt-results-bar { margin-bottom: 2px; }
.ftt-browse-category-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.ftt-browse-category-head .ftt-kicker { margin-bottom: 5px; }
.ftt-browse-category-head h2 { margin: 0; font-family: var(--display); font-size: clamp(24px, 3vw, 34px); font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: var(--bone); }
.ftt-browse-category-head a { flex: 0 0 auto; color: var(--sand); font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: .01em; }
.ftt-browse-category-head a:hover { color: var(--accent-text, var(--accent)); }
.ftt-category-grid--browse { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ftt-category-grid--browse .ftt-category-tile { min-height: 62px; padding: 10px 12px; }
.ftt-category-grid--browse .ftt-cat-icon { width: 28px; height: 28px; }
.ftt-category-grid--browse .ftt-category-tile strong { font-size: 15px; }
@media (max-width: 720px) {
  .ftt-browse-category-nav { margin-right: calc(var(--ftt-shell-gutter) * -1); padding-right: var(--ftt-shell-gutter); overflow: hidden; }
  .ftt-browse-category-head { padding-right: var(--ftt-shell-gutter); }
  .ftt-category-grid--browse { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(178px, 70vw); grid-template-columns: none; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scrollbar-width: thin; }
  .ftt-category-grid--browse .ftt-category-tile { scroll-snap-align: start; }
}

.ftt-browse-grid, .listings-grid { gap: 20px; padding-top: 14px; align-items: stretch; }
.ftt-browse-grid[data-ftt-browse-view] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.ftt-listing-card, .listing-card { position: relative; overflow: hidden; height: 100%; display: flex; flex-direction: column; background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r-2); transition: border-color .2s ease, background .2s ease; }
.ftt-listing-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; z-index: 3; background: linear-gradient(90deg, transparent, var(--line-strong) 30%, var(--line-strong) 70%, transparent); }
.ftt-listing-card:hover, .listing-card:hover { border-color: var(--line-strong); background: var(--panel-2); transform: none; box-shadow: var(--shadow-sm); }
.ftt-listing-card.is-featured, .listing-card.featured { border-color: color-mix(in srgb, var(--accent) 55%, transparent); }
.ftt-listing-card.is-featured, .listing-card.featured { overflow: visible; }
.ftt-listing-card.is-rental { border-color: color-mix(in srgb, var(--brass) 38%, var(--line-2)); }
.ftt-card-photo, .listing-img { position: relative; display: block; aspect-ratio: 4 / 3; background: #0E0B06; overflow: hidden; }
.ftt-card-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 65%; transition: transform .5s cubic-bezier(.2,.7,.2,1); filter: saturate(.96) contrast(1.02); }
.ftt-listing-card:hover .ftt-card-photo img { transform: scale(1.04); }

.ftt-listing-card { position: relative; }
.ftt-listing-card .ftt-card-title a::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.ftt-listing-card .ftt-card-title a:focus-visible::after { outline: 2px solid var(--accent); outline-offset: -2px; border-radius: inherit; }
.ftt-listing-card .ftt-card-title a:focus-visible { outline: none; }
.ftt-listing-card:hover { cursor: pointer; }
.ftt-photo-empty { color: var(--muted-2); font-family: var(--mono); font-size: 22px; letter-spacing: .3em; }
.ftt-card-category,
.ftt-featured-badge { font-family: var(--mono); font-weight: 500; letter-spacing: .01em; line-height: 1; text-transform: none; }
.ftt-card-category { position: absolute; top: 12px; min-height: 0; padding: 5px 9px; border-radius: 2px; font-size: 11px; }
.ftt-card-category { left: 12px; background: rgba(14,11,6,.78); color: var(--sand); border: 1px solid var(--line-2); backdrop-filter: blur(4px); }
.ftt-featured-badge {
  position: absolute;
  top: 0;
  left: 50%;
  right: auto;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 6px 24px;
  background: color-mix(in srgb, var(--accent) 94%, transparent);
  color: var(--accent-ink);
  font-size: 12px;
  overflow: hidden;
  clip-path: polygon(12px 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 12px 100%, 0 50%);
  text-align: center;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.ftt-listing-card.is-featured .ftt-card-category,
.listing-card.featured .ftt-card-category { top: 22px; }
.ftt-featured-badge::after {
  content: "";
  position: absolute;
  inset: -35% auto -35% -45%;
  width: 42%;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.30) 50%, transparent 100%);
  opacity: 0;
  pointer-events: none;
  transform: translateX(0);
}
@media (prefers-reduced-motion: no-preference) {
  .ftt-listing-card.is-featured .ftt-featured-badge::after,
  .listing-card.featured .ftt-featured-badge::after {
    animation: ftt-featured-badge-shimmer 7s ease-in-out infinite;
  }
  @keyframes ftt-featured-badge-shimmer {
    0%, 76%, 100% {
      opacity: 0;
      transform: translateX(0);
    }
    84% {
      opacity: .5;
    }
    92% {
      opacity: 0;
      transform: translateX(340%);
    }
  }
}
.ftt-card-body, .listing-body { display: grid; flex: 1 1 auto; gap: 10px; padding: 14px 14px 13px; }
.ftt-card-price, .listing-price { margin-bottom: 0; font-family: var(--display); font-weight: 800; font-size: clamp(22px, 4vw, 26px); letter-spacing: -0.03em; color: var(--bone); }
.ftt-card-title, .listing-title { margin: 0; font-family: var(--display); font-weight: 600; font-size: 17px; line-height: 1.18; letter-spacing: -0.01em; text-transform: none; color: var(--bone); }
.ftt-card-title a:hover { color: var(--accent-text, var(--accent)); }
.ftt-card-meta, .listing-meta { display: flex; gap: 0; flex-wrap: wrap; font-family: var(--mono); font-size: 11px; font-weight: 400; letter-spacing: .01em; text-transform: none; color: var(--sand); }
.ftt-card-meta span:not(:first-child)::before, .listing-meta span:not(:first-child)::before { content: "·"; margin: 0 8px; color: var(--muted-2); }
.ftt-card-meta-primary { color: var(--bone-dim); }
.ftt-card-meta-secondary { color: var(--sand); }
.ftt-listing-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.ftt-badge { min-height: 0; padding: 4px 8px; background: transparent; border: 1px solid var(--line-2); border-radius: 2px; color: var(--sand); font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .01em; text-transform: none; }
.ftt-badge-video {
  border-color: color-mix(in srgb, var(--accent) 52%, transparent);
  background: color-mix(in srgb, var(--accent) 13%, transparent);
  color: var(--accent-text, var(--accent));
}
.ftt-badge-rental {
  border-color: color-mix(in srgb, var(--brass) 62%, transparent);
  background: color-mix(in srgb, var(--brass) 15%, transparent);
  color: #F2D49A;
}
.ftt-card-seller { position: relative; z-index: 4; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.ftt-card-seller-name { color: var(--bone); font-family: var(--sans); font-size: 14px; font-weight: 600; line-height: 1.25; }
.ftt-card-snippet { display: none; margin: 0; color: var(--bone-dim); font-size: 14px; line-height: 1.55; }
.ftt-card-foot { display: flex; align-items: center; align-self: stretch; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 11px; border-top: 1px solid var(--line); font-family: var(--mono); font-size: 11px; letter-spacing: .01em; text-transform: none; color: var(--bone-dim); }
.ftt-card-foot a { color: var(--brass-text, var(--brass)); }
.ftt-card-foot a:hover { color: var(--accent-text, var(--accent)); }
.ftt-card-foot a { display:inline-flex;align-items:center;min-height:44px; }
.ftt-listing-id .ftt-btn { min-height:44px; }
.ftt-area-index-search{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.ftt-area-index-search input{flex:1 1 240px;min-width:0;min-height:44px;font-size:16px}.ftt-area-index-list{display:grid;gap:1px}.ftt-area-index-row{display:grid;gap:4px;min-height:64px;padding:10px 12px;border:1px solid var(--line-2);background:var(--panel);color:var(--bone);text-decoration:none}.ftt-area-index-row em,.ftt-area-index-row span{color:var(--muted);font-size:13px}

.ftt-user-badges { position: relative; z-index: 4; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; overflow: visible; }
.ftt-user-badge {
  position: relative;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 0;
  padding: 4px 8px;
  border: 1px solid var(--line-2);
  border-radius: 999px;
  background: rgba(237,228,210,.06);
  color: var(--sand);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: help;
}
.ftt-user-badge:focus { outline: none; }
.ftt-user-badge:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
}
.ftt-badge-tip {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 9px);
  z-index: 50;
  width: max-content;
  max-width: min(240px, calc(100vw - 32px));
  padding: 8px 10px;
  border: 1px solid var(--line-strong);
  border-radius: var(--r);
  background: var(--panel-3);
  box-shadow: var(--shadow-sm);
  color: var(--bone);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.35;
  text-align: left;
  text-transform: none;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transform: translate(-50%, 4px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.ftt-badge-tip::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  width: 9px;
  height: 9px;
  border-right: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  background: var(--panel-3);
  transform: translate(-50%, -5px) rotate(45deg);
}
.ftt-user-badge:hover .ftt-badge-tip,
.ftt-user-badge:focus .ftt-badge-tip,
.ftt-user-badge:focus-within .ftt-badge-tip {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: translate(-50%, 0);
}
.ftt-listing-card:has(.ftt-user-badge),
.listing-card:has(.ftt-user-badge),
.ftt-seller-panel {
  overflow: visible;
}
@media (prefers-reduced-motion: reduce) {
  .ftt-badge-tip {
    transition: none;
  }
}

.ftt-user-badge__icon { font-size: 11px; letter-spacing: 0; }
.ftt-user-badge--founding,
.ftt-user-badge--founder {
  border-color: color-mix(in srgb, var(--brass) 60%, transparent);
  background: color-mix(in srgb, var(--brass) 15%, transparent);
  color: #F2D49A;
}
.ftt-user-badge--founding-100 {
  border-color: color-mix(in srgb, var(--brass) 50%, var(--accent) 18%);
  background: linear-gradient(135deg, color-mix(in srgb, var(--brass) 13%, transparent), color-mix(in srgb, var(--accent) 8%, transparent));
  color: #EBCB8B;
}
.ftt-user-badge--founding-200 {
  border-color: color-mix(in srgb, var(--brass) 42%, var(--bone) 18%);
  background: color-mix(in srgb, var(--brass) 11%, transparent);
  color: #DCC08A;
}
.ftt-user-badge--builder {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--bone) 20%);
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  color: #B9E6E1;
}
.ftt-user-badge--dealer {
  border-color: color-mix(in srgb, var(--brass) 36%, var(--accent) 32%);
  background: linear-gradient(135deg, color-mix(in srgb, var(--brass) 10%, transparent), color-mix(in srgb, var(--accent) 10%, transparent));
  color: #E9C885;
}
.ftt-user-badge--tier1 {
  border-color: rgba(237,228,210,.22);
  background: rgba(237,228,210,.04);
  color: var(--bone-dim);
}
.ftt-user-badge--tier2 {
  border-color: color-mix(in srgb, var(--accent) 55%, transparent);
  background: color-mix(in srgb, var(--accent) 16%, transparent);
  color: #A8DFDB;
}
.ftt-user-badge--tier3 {
  border-color: color-mix(in srgb, var(--accent) 38%, var(--brass) 42%);
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, transparent), color-mix(in srgb, var(--brass) 18%, transparent));
  color: #F4D8A6;
}

.ftt-filter-panel, .ftt-filter-drawer { background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r-2); }
.ftt-filter-panel { padding: 18px; }
.ftt-filter-panel label, .ftt-sort-form { font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .01em; color: var(--sand); }
.ftt-filter-panel input:not(.ftt-trades-filter__checkbox), .ftt-filter-panel select, .ftt-sort-form select { min-height: 46px; padding: 11px 12px; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); color: var(--bone); font-family: var(--sans); font-size: 14px; font-weight: 500; }
.ftt-filter-panel input:focus, .ftt-filter-panel select:focus, .ftt-sort-form select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.ftt-filter-drawer summary { font-family: var(--mono); font-size: 13px; letter-spacing: .01em; text-transform: none; color: var(--bone); }
.ftt-clear-link { font-family: var(--mono); font-size: 12px; letter-spacing: .08em; color: var(--muted); }
.ftt-results-bar p { margin: 0; font-family: var(--mono); font-size: 13px; font-weight: 400; letter-spacing: .01em; color: var(--sand); text-transform: none; }
.ftt-results-featured-hint { color: var(--muted); }
.ftt-results-actions { display: grid; gap: 12px; }
.ftt-listing-view { display: grid; gap: 12px; }
.ftt-view-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; max-width: 100%; }
.ftt-view-group { display: inline-flex; max-width: 100%; }
.ftt-view-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 9px 10px; background: var(--panel); border: 1px solid var(--line-2); border-radius: 0; color: var(--bone); font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .12em; line-height: 1; text-align: center; text-transform: uppercase; cursor: pointer; }
.ftt-view-btn + .ftt-view-btn { margin-left: -1px; }
.ftt-view-btn:first-child { border-radius: var(--r) 0 0 var(--r); }
.ftt-view-btn:last-child { border-radius: 0 var(--r) var(--r) 0; }
.ftt-view-btn:hover, .ftt-view-btn:focus-visible { position: relative; border-color: var(--line-strong); }
.ftt-view-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
button.ftt-view-btn[aria-pressed="true"] { position: relative; background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.ftt-view-full { display: none; }
.ftt-view-abbr { display: inline; }
.ftt-pagination a { min-width: 44px; min-height: 44px; border: 1px solid var(--line-2); border-radius: var(--r); font-family: var(--mono); font-weight: 500; color: var(--bone); background: var(--panel); }
.ftt-pagination a:hover { border-color: var(--line-strong); }
.ftt-pagination a.is-current { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.ftt-breadcrumb { font-family: var(--mono); font-size: 11.5px; letter-spacing: .01em; text-transform: none; color: var(--sand); }
.ftt-breadcrumb a { color: var(--brass-text, var(--brass)); }
.ftt-recently-sold { padding: 16px 0; background: var(--ink-2); border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); overflow: hidden; }
.ftt-recently-sold-head { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.ftt-recently-sold-head > div { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: baseline; min-width: 0; }
.ftt-recently-sold-head strong { font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: .01em; color: var(--accent-text, var(--accent)); text-transform: uppercase; }
.ftt-recently-sold-head span { color: var(--muted-2); font-family: var(--mono); font-size: 11px; }
.ftt-recently-sold-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 34px; padding: 8px 11px; border: 1px solid var(--line-strong); border-radius: var(--r); background: var(--panel); color: var(--bone); font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: .01em; cursor: pointer; }
.ftt-recently-sold-toggle:hover, .ftt-recently-sold-toggle:focus-visible { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.ftt-recently-sold-toggle[hidden] { display: none; }
.ftt-recently-sold-strip { overflow: hidden; }
.ftt-recently-sold-track { display: flex; width: max-content; }
.ftt-recently-sold-strip.can-scroll .ftt-recently-sold-track { animation: ftt-recently-sold-scroll 42s linear infinite; }
.ftt-recently-sold-strip:hover .ftt-recently-sold-track,
.ftt-recently-sold-strip:focus-within .ftt-recently-sold-track,
.ftt-recently-sold-strip.is-paused .ftt-recently-sold-track { animation-play-state: paused; }
.ftt-recently-sold-group { display: flex; gap: 12px; padding-right: 12px; }
.ftt-recently-sold-group[aria-hidden="true"] { display: none; }
.ftt-recently-sold-strip.can-scroll .ftt-recently-sold-group[aria-hidden="true"] { display: flex; }
.ftt-recently-sold-item { flex: 0 0 128px; width: 128px; margin: 0; color: var(--bone); }
.ftt-recently-sold-item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 62%; background: #0E0B06; border: 1px solid var(--line-2); border-radius: var(--r); }
.ftt-recently-sold-item figcaption { display: grid; gap: 2px; padding-top: 7px; }
.ftt-recently-sold-item strong { overflow: hidden; color: var(--bone); font-size: 12px; font-weight: 600; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.ftt-recently-sold-item span { color: var(--sand); font-family: var(--mono); font-size: 11px; line-height: 1.2; }

@keyframes ftt-recently-sold-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .ftt-recently-sold-strip { overflow-x: auto; }
  .ftt-recently-sold-track { animation: none; }
  .ftt-recently-sold-group[aria-hidden="true"] { display: none; }
}

[data-ftt-browse-view].ftt-browse--grid.ftt-browse--sm { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-ftt-browse-view].ftt-browse--grid.ftt-browse--md { grid-template-columns: repeat(2, minmax(0, 1fr)); }
[data-ftt-browse-view].ftt-browse--grid.ftt-browse--lg { grid-template-columns: 1fr; }

[data-ftt-browse-view].ftt-browse--sm .ftt-card-meta-secondary,
[data-ftt-browse-view].ftt-browse--sm .ftt-listing-badges,
[data-ftt-browse-view].ftt-browse--sm .ftt-card-foot,
[data-ftt-browse-view].ftt-browse--sm .ftt-card-snippet { display: none; }
[data-ftt-browse-view].ftt-browse--sm .ftt-card-seller { gap: 6px 8px; }
[data-ftt-browse-view].ftt-browse--sm .ftt-card-seller-name { font-size: 13px; }
[data-ftt-browse-view].ftt-browse--sm .ftt-user-badge { font-size: 9px; letter-spacing: .1em; }
[data-ftt-browse-view].ftt-browse--sm .ftt-card-photo {
  min-height: 104px;
  aspect-ratio: 4 / 3;
}
[data-ftt-browse-view].ftt-browse--sm .ftt-card-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 62%;
}

[data-ftt-browse-view].ftt-browse--lg .ftt-card-snippet { display: block; }
[data-ftt-browse-view].ftt-browse--lg .ftt-card-photo { aspect-ratio: 16 / 10; }

[data-ftt-browse-view].ftt-browse--list { grid-template-columns: 1fr; }
[data-ftt-browse-view].ftt-browse--list .ftt-listing-card {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  align-items: stretch;
}
[data-ftt-browse-view].ftt-browse--list .ftt-card-photo {
  height: 100%;
  min-height: 100%;
  aspect-ratio: auto;
}
[data-ftt-browse-view].ftt-browse--list .ftt-card-body { padding: 12px 13px; }
[data-ftt-browse-view].ftt-browse--list .ftt-card-category {
  top: 8px;
  padding: 4px 7px;
  font-size: 9.5px;
}
[data-ftt-browse-view].ftt-browse--list .ftt-card-category { left: 8px; }
[data-ftt-browse-view].ftt-browse--list .ftt-featured-badge { font-size: 11px; }
[data-ftt-browse-view].ftt-browse--list .ftt-listing-card.is-featured .ftt-card-category,
[data-ftt-browse-view].ftt-browse--list .listing-card.featured .ftt-card-category { top: 18px; }
[data-ftt-browse-view].ftt-browse--list.ftt-browse--sm .ftt-listing-card { grid-template-columns: clamp(104px, 32vw, 128px) minmax(0, 1fr); }
[data-ftt-browse-view].ftt-browse--list.ftt-browse--sm .ftt-card-photo { min-height: 104px; aspect-ratio: 1 / 1; }
[data-ftt-browse-view].ftt-browse--list.ftt-browse--sm .ftt-card-title { font-size: 15px; }
[data-ftt-browse-view].ftt-browse--list.ftt-browse--sm .ftt-card-price { font-size: 20px; }
[data-ftt-browse-view].ftt-browse--list.ftt-browse--md .ftt-listing-card { grid-template-columns: 116px minmax(0, 1fr); }
[data-ftt-browse-view].ftt-browse--list.ftt-browse--lg .ftt-listing-card { grid-template-columns: 132px minmax(0, 1fr); }
[data-ftt-browse-view].ftt-browse--list.ftt-browse--lg .ftt-card-snippet { display: block; }
[data-ftt-browse-view].ftt-browse--list.ftt-browse--lg .ftt-card-price { font-size: 24px; }

@media (min-width: 760px) {
  .ftt-browse-grid, .listings-grid { gap: 24px; }
  [data-ftt-browse-view].ftt-browse--grid.ftt-browse--sm { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  [data-ftt-browse-view].ftt-browse--grid.ftt-browse--md { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-ftt-browse-view].ftt-browse--list .ftt-listing-card { grid-template-columns: 172px minmax(0, 1fr); }
  [data-ftt-browse-view].ftt-browse--list.ftt-browse--sm .ftt-listing-card { grid-template-columns: 144px minmax(0, 1fr); }
  [data-ftt-browse-view].ftt-browse--list.ftt-browse--sm .ftt-card-photo { min-height: 116px; }
  [data-ftt-browse-view].ftt-browse--list.ftt-browse--lg .ftt-listing-card { grid-template-columns: 220px minmax(0, 1fr); }
  .ftt-results-actions { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .ftt-view-full { display: inline; }
  .ftt-view-abbr { display: none; }
}

@media (min-width: 1024px) {
  .ftt-browse-grid, .listings-grid { gap: 26px; }
  [data-ftt-browse-view].ftt-browse--grid.ftt-browse--sm { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  [data-ftt-browse-view].ftt-browse--grid.ftt-browse--md { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  [data-ftt-browse-view].ftt-browse--grid.ftt-browse--lg { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-ftt-browse-view].ftt-browse--list.ftt-browse--sm .ftt-listing-card { grid-template-columns: 156px minmax(0, 1fr); }
  [data-ftt-browse-view].ftt-browse--list.ftt-browse--md .ftt-listing-card { grid-template-columns: 192px minmax(0, 1fr); }
  [data-ftt-browse-view].ftt-browse--list.ftt-browse--lg .ftt-listing-card { grid-template-columns: 260px minmax(0, 1fr); }
}

@media (min-width: 1280px) {
  .ftt-browse-grid, .listings-grid { gap: 28px; }
  [data-ftt-browse-view].ftt-browse--grid.ftt-browse--sm { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

.ftt-gallery, .ftt-listing-side, .ftt-listing-copy, .ftt-contact-panel, .ftt-seller-panel { background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r-2); }
.ftt-main-photo { aspect-ratio: 4 / 3; background: #0E0B06; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.ftt-main-photo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; margin: 0 auto; display: block; }
.ftt-main-photo img[role="button"] { cursor: zoom-in; }
.ftt-main-photo img[role="button"]:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
.ftt-thumbs { border-top: 1px solid var(--line-2); }
.ftt-thumbs button { border-radius: var(--r); background: var(--ink-2); border: 1px solid transparent; }
.ftt-thumbs button.is-active { border-color: var(--accent); }
.ftt-lightbox-open { overflow: hidden; }
.ftt-photo-lightbox[hidden] { display: none; }
.ftt-photo-lightbox { position: fixed; inset: 0; z-index: 10000; display: grid; grid-template: minmax(52px, auto) minmax(0, 1fr) minmax(46px, auto) / minmax(54px, auto) minmax(0, 1fr) minmax(54px, auto); gap: 12px; padding: max(18px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); background: rgba(5, 4, 3, .94); backdrop-filter: blur(6px); animation: ftt-lightbox-fade .16s ease-out; }
.ftt-photo-lightbox__stage { grid-area: 2 / 1 / 3 / 4; min-width: 0; min-height: 0; display: flex; align-items: center; justify-content: center; }
.ftt-photo-lightbox__stage img { display: block; width: 100%; height: 100%; max-width: calc(100vw - 124px); max-height: calc(100vh - 132px); object-fit: contain; }
.ftt-photo-lightbox__close, .ftt-photo-lightbox__nav { border: 1px solid var(--line-strong); background: rgba(28, 23, 17, .86); color: var(--bone); border-radius: var(--r); box-shadow: var(--shadow-sm); cursor: pointer; transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease; position: relative; z-index: 2; }
.ftt-photo-lightbox__close:hover, .ftt-photo-lightbox__nav:hover, .ftt-photo-lightbox__close:focus-visible, .ftt-photo-lightbox__nav:focus-visible { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.ftt-photo-lightbox__close:focus-visible, .ftt-photo-lightbox__nav:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
.ftt-photo-lightbox__close { grid-area: 1 / 3 / 2 / 4; justify-self: end; width: 46px; height: 46px; font-size: 32px; line-height: 1; }
.ftt-photo-lightbox__nav { align-self: center; width: 48px; height: 70px; font-size: 48px; line-height: .8; }
.ftt-photo-lightbox__nav--prev { grid-area: 2 / 1 / 3 / 2; justify-self: start; }
.ftt-photo-lightbox__nav--next { grid-area: 2 / 3 / 3 / 4; justify-self: end; }
.ftt-photo-lightbox__counter { grid-area: 3 / 2 / 4 / 3; justify-self: center; align-self: center; padding: 8px 12px; border: 1px solid var(--line-2); border-radius: var(--r); background: rgba(28, 23, 17, .76); color: var(--bone); font-family: var(--mono); font-size: 12px; letter-spacing: .08em; }
.ftt-photo-lightbox__nav[hidden], .ftt-photo-lightbox__counter[hidden] { display: none; }
@keyframes ftt-lightbox-fade { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 700px) {
  .ftt-photo-lightbox { grid-template-columns: 1fr 1fr; grid-template-rows: minmax(48px, auto) minmax(0, 1fr) minmax(54px, auto); gap: 10px; }
  .ftt-photo-lightbox__stage { grid-area: 2 / 1 / 3 / 3; }
  .ftt-photo-lightbox__stage img { max-width: 100%; max-height: calc(100vh - 142px); }
  .ftt-photo-lightbox__close { grid-area: 1 / 2 / 2 / 3; width: 44px; height: 44px; }
  .ftt-photo-lightbox__nav { width: 52px; height: 46px; font-size: 38px; }
  .ftt-photo-lightbox__nav--prev { grid-area: 3 / 1 / 4 / 2; justify-self: start; }
  .ftt-photo-lightbox__nav--next { grid-area: 3 / 2 / 4 / 3; justify-self: end; }
  .ftt-photo-lightbox__counter { grid-area: 3 / 1 / 4 / 3; }
}
.ftt-listing-side { padding: 22px; }
.ftt-detail-price { font-family: var(--display); font-weight: 800; font-size: clamp(36px, 7vw, 56px); line-height: .95; letter-spacing: -0.035em; color: var(--bone); }
.ftt-listing-side h1 { margin: 8px 0 16px; font-family: var(--display); font-weight: 700; font-size: clamp(26px, 5vw, 40px); line-height: 1.02; letter-spacing: -0.025em; text-transform: none; }
.ftt-listing-id { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin: 0 0 16px; }
.ftt-listing-id__label { color: var(--muted); font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.ftt-listing-id__code { color: var(--bone); font-family: var(--mono); font-size: 16px; font-weight: 700; letter-spacing: .03em; }
.ftt-listing-id .ftt-btn { min-height: 38px; padding: 8px 14px; font-size: 11px; }
.ftt-detail-badges span { padding: 6px 9px; background: transparent; border: 1px solid var(--line-2); border-radius: 2px; color: var(--sand); font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .01em; text-transform: none; }
.ftt-spec-list { border-top: 1px solid var(--line-2); }
.ftt-spec-list div { grid-template-columns: 130px 1fr; padding: 13px 0; border-bottom: 1px solid var(--line); }
.ftt-spec-list dt { font-family: var(--mono); font-size: 11px; font-weight: 400; letter-spacing: .01em; text-transform: none; color: var(--sand); }
.ftt-spec-list dd { font-family: var(--sans); font-weight: 600; color: var(--bone); }
.ftt-contact-panel, .ftt-seller-panel { padding: 18px; margin-top: 14px; background: var(--ink-2); border: 1px solid var(--line-2); }
.ftt-contact-panel h2, .ftt-seller-panel h2, .ftt-listing-copy h2 { margin: 0 0 10px; font-family: var(--display); font-weight: 700; font-size: 17px; letter-spacing: -0.01em; text-transform: none; }
.ftt-contact-panel p, .ftt-seller-panel p { color: var(--bone-dim); }
.ftt-seller-identity { display: grid; gap: 10px; }
.ftt-seller-name { margin: 0; color: var(--bone); font-size: 18px; font-weight: 700; line-height: 1.2; }
.ftt-phone-result, .ftt-contact-email { color: var(--accent-text, var(--accent)); font-family: var(--mono); font-weight: 500; letter-spacing: .04em; }
.ftt-report-panel { margin-top: 14px; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r-2); }
.ftt-report-panel summary { cursor: pointer; list-style: none; padding: 18px; font-family: var(--mono); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--sand); }
.ftt-report-panel summary::-webkit-details-marker { display: none; }
.ftt-report-panel[open] summary { border-bottom: 1px solid var(--line-2); color: var(--bone); }
.ftt-report-panel__body { padding: 18px; }
.ftt-report-panel__body > p { margin: 0 0 14px; color: var(--bone-dim); }
.ftt-report-form { display: grid; gap: 14px; }
.ftt-report-form textarea { min-height: 110px; resize: vertical; }
.ftt-report-form .ftt-btn { width: 100%; }
.ftt-listing-copy { padding: 22px; }
.ftt-listing-copy > div { color: var(--bone-dim); font-size: 16px; line-height: 1.75; }
.ftt-video-embed { border: 1px solid var(--line-2); border-radius: var(--r-2); background: var(--ink-2); }
.ftt-video-link {
  width: min(100%, 360px);
  margin-top: 22px;
  background: var(--accent);
  border-color: var(--accent);
  color: var(--accent-ink);
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20);
}
.ftt-video-link:hover {
  background: var(--bone);
  border-color: var(--bone);
  color: var(--ink);
}

.ftt-sell-page, .ftt-submitted-page { background: transparent; }
.ftt-sell-hero p:not(.ftt-kicker) { color: var(--bone-dim); font-weight: 400; font-size: 17px; }
.ftt-sell-form { counter-reset: sec; }
.ftt-sell-card { counter-increment: sec; position: relative; padding: 22px; background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r-2); box-shadow: none; }
.ftt-sell-section-head { display: flex; align-items: baseline; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.ftt-sell-section-head::before { content: counter(sec, decimal-leading-zero); font-family: var(--mono); font-size: 13px; font-weight: 500; letter-spacing: .1em; color: var(--accent-text, var(--accent)); }
.ftt-sell-section-head h2 { margin: 0; font-family: var(--display); font-weight: 700; font-size: clamp(22px, 4vw, 30px); line-height: 1; letter-spacing: -0.02em; text-transform: none; }
.ftt-field { font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .01em; color: var(--sand); }
.ftt-field span { font-family: var(--sans); font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--muted); }
.ftt-required { color: var(--accent-text, var(--accent)); }
.ftt-field input, .ftt-field select, .ftt-field textarea { min-height: 48px; padding: 12px 13px; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); color: var(--bone); font-family: var(--sans); font-size: 16px; font-weight: 500; }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
.ftt-field input::placeholder, .ftt-field textarea::placeholder, .ftt-filter-panel input::placeholder { color: var(--muted); opacity: 1; }
.ftt-field input:focus, .ftt-field select:focus, .ftt-field textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.ftt-field input[readonly] { background: var(--panel); color: var(--sand); }

.ftt-field input:-webkit-autofill,
.ftt-field input:-webkit-autofill:hover,
.ftt-field input:-webkit-autofill:focus,
.ftt-field input:-webkit-autofill:active,
.ftt-auth-card input:-webkit-autofill,
.ftt-auth-card input:-webkit-autofill:hover,
.ftt-auth-card input:-webkit-autofill:focus,
.ftt-auth-card input:-webkit-autofill:active,
.ftt-password-wrap input:-webkit-autofill,
.ftt-password-wrap input:-webkit-autofill:hover,
.ftt-password-wrap input:-webkit-autofill:focus,
.ftt-password-wrap input:-webkit-autofill:active {
  background-color: var(--ink-2, #181410) !important;
  -webkit-text-fill-color: var(--bone, #F4E9D6) !important;
  caret-color: var(--bone, #F4E9D6);
  -webkit-box-shadow: 0 0 0 1000px var(--ink-2, #181410) inset !important;
  box-shadow: 0 0 0 1000px var(--ink-2, #181410) inset !important;
  transition: background-color 9999s ease-in-out 0s;
}
.ftt-sell-section-head,
.ftt-field,
.ftt-field input,
.ftt-field select,
.ftt-field textarea,
.ftt-choice-group,
.ftt-choice-group label,
.ftt-checkbox-field,
.ftt-consent-field,
.ftt-tier-option,
.ftt-photo-uploader,
.ftt-photo-drop-zone {
  scroll-margin-top: calc(var(--ftt-nav-height, 72px) + 128px);
}
.ftt-required > input, .ftt-required > select, .ftt-required > textarea { border-color: color-mix(in srgb, var(--accent) 30%, transparent); }
.ftt-choice-group label, .ftt-checkbox-field, .ftt-tier-option { min-height: 48px; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); color: var(--bone); font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.ftt-tier-grid,
.ftt-rent-types {
  margin: 0;
  padding: 0;
  border: 0;
  min-inline-size: 0;
}
.ftt-choice-group legend, .ftt-checkbox-field { color: var(--accent-text, var(--accent)); }
.ftt-choice-group input, .ftt-checkbox-field input, .ftt-tier-option input { accent-color: var(--accent-text, var(--accent)); }
.ftt-checkbox-field > span:has(small) { display: grid; gap: 3px; color: var(--bone); font-family: var(--sans); letter-spacing: 0; text-transform: none; }
.ftt-checkbox-field > span > strong { font-size: 14px; line-height: 1.25; }
.ftt-checkbox-field > span > small { color: var(--sand); font-size: 12px; font-weight: 400; line-height: 1.35; }
.ftt-tier-option { align-items: flex-start; }
.ftt-tier-option:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); }
.ftt-tier-option strong { font-family: var(--display); font-weight: 700; font-size: 16px; color: var(--bone); text-transform: none; }
.ftt-tier-option em { font-family: var(--mono); font-style: normal; font-size: 12px; color: var(--accent-text, var(--accent)); }
.ftt-photo-uploader input[type="file"] { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; opacity: 0; overflow: hidden; pointer-events: none; }
.ftt-photo-drop-zone { background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, transparent), transparent 48%), var(--ink-2); border-color: color-mix(in srgb, var(--accent) 62%, transparent); border-radius: var(--r); }
.ftt-photo-uploader:focus-within .ftt-photo-drop-zone, .ftt-photo-drop-zone:focus, .ftt-photo-drop-zone.is-drag-over { border-color: var(--accent); background-color: var(--panel); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent); }
.ftt-photo-uploader.is-drag-over .ftt-photo-drop-zone { border-color: var(--accent); background-color: var(--panel); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent); }
.ftt-photo-upload-status { color: var(--sage); font-family: var(--sans); }
.ftt-photo-upload-status.is-error { color: var(--danger); }
.ftt-photo-grid .ftt-photo-preview-tile { background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); }
.ftt-photo-image-wrap { border-radius: var(--r) var(--r) 0 0; }
.ftt-photo-grid .ftt-photo-preview-tile.is-drop-target { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 28%, transparent); }
.ftt-photo-remove:focus, .ftt-photo-remove:hover { background: var(--accent); border-color: var(--accent); }
.ftt-photo-position { background: var(--sand); color: var(--ink); }
.ftt-photo-control { background: var(--panel); border-color: var(--line-2); color: var(--bone); }
.ftt-photo-control:focus, .ftt-photo-control:hover { background: var(--accent); border-color: var(--accent); color: var(--ink); }
.ftt-notice-box { background: var(--accent-soft); border: 1px solid color-mix(in srgb, var(--accent) 50%, transparent); border-radius: var(--r-2); color: var(--bone-dim); }
.ftt-notice-box strong { font-family: var(--display); color: var(--bone); }
.ftt-coupon-status.is-success { color: var(--sage); }
.ftt-coupon-status.is-error { color: var(--danger); }
.ftt-coupon-toggle {
  margin: 14px 0 16px;
  text-align: left;
}
.ftt-coupon-toggle summary {
  width: fit-content;
  cursor: pointer;
  color: var(--sand);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .01em;
}
.ftt-coupon-toggle summary:hover,
.ftt-coupon-toggle summary:focus-visible { color: var(--bone); }
.ftt-coupon-toggle .ftt-field { margin-top: 12px; }
.ftt-submit-listing { min-height: 54px; }
.ftt-rent-fee-disclosure,
.ftt-rent-fee-lock,
.ftt-rent-autorenew-copy {
  color: var(--bone);
  font-weight: 800;
}
.ftt-rent-fee-disclosure {
  margin: 0 0 16px;
  font-size: clamp(17px, 2vw, 20px);
  line-height: 1.45;
}
.ftt-rent-fee-lock {
  display: block;
  margin-top: 7px;
  font-size: 14px;
  line-height: 1.45;
}
.ftt-rent-fee-summary {
  color: var(--bone);
  font-size: clamp(17px, 2vw, 20px);
  font-weight: 800;
  line-height: 1.45;
}
.ftt-rent-autorenew-copy {
  display: block;
  font-size: clamp(16px, 1.8vw, 18px);
  line-height: 1.5;
}

.ftt-submitted-shell {
  min-height: calc(100vh - var(--ftt-nav-height, 72px) - 120px);
  display: grid;
  place-items: center;
  padding-top: 54px;
  padding-bottom: 54px;
}
.ftt-submitted-card { padding: 34px; background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r-2); }
.ftt-submitted-shell .ftt-submitted-card {
  width: min(100%, 760px);
  margin-inline: auto;
}
.ftt-submitted-card h1 { font-family: var(--display); font-weight: 800; font-size: clamp(38px, 8vw, 64px); line-height: .95; letter-spacing: -0.03em; text-transform: none; }
.ftt-submitted-card p { color: var(--bone-dim); font-weight: 500; }
.ftt-submitted-details { background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); }
.ftt-submitted-details dt { font-family: var(--mono); font-size: 11px; font-weight: 400; letter-spacing: .01em; color: var(--accent-text, var(--accent)); text-transform: none; }
.ftt-submitted-details dd { font-family: var(--sans); font-weight: 600; color: var(--bone); }
.ftt-browser-escape { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0 0 22px; padding: 14px; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); }
.ftt-browser-escape div { display: grid; gap: 4px; min-width: 0; }
.ftt-browser-escape strong { color: var(--bone); font-size: 15px; line-height: 1.35; }
.ftt-browser-escape span { color: var(--bone-dim); font-size: 13px; }
.ftt-browser-escape .ftt-btn { flex: 0 0 auto; min-height: 44px; }
.ftt-payment-form, #payment-element { width: 100%; min-width: 0; max-width: 100%; }
#payment-element { min-height: 150px; overflow: visible; }
#payment_message { scroll-margin-top: calc(var(--ftt-nav-height, 72px) + 20px); }
@media (max-width: 480px) {
  .ftt-submitted-shell { display: block; width: calc(100% - 16px); min-height: 0; padding-top: 18px; padding-bottom: 32px; }
  .ftt-submitted-card { min-width: 0; padding: 10px; }
  .ftt-submitted-card h1 { font-size: 36px; }
  .ftt-submitted-details { margin-bottom: 14px; }
  .ftt-submitted-card > .ftt-sell-card { margin-top: 16px !important; padding: 10px; }
  .ftt-browser-escape { align-items: stretch; flex-direction: column; margin-bottom: 16px; }
  .ftt-browser-escape .ftt-btn, #load_checkout, #submit_payment { width: 100%; }
  #payment-element { min-height: 170px; }
}

.ftt-auth-page, .ftt-legal-page { background: transparent; }
.ftt-auth-copy {
  border: 1px solid var(--line-2); border-radius: var(--r-2);
  background:
    linear-gradient(160deg, rgba(19,16,9,.82), rgba(19,16,9,.95)),
    linear-gradient(120deg, color-mix(in srgb, var(--accent) 18%, transparent), color-mix(in srgb, var(--brass) 12%, transparent)),
    url("/assets/images/ftt-trifecta.png") center / 74% auto no-repeat;
}
.ftt-auth-copy h1 { font-family: var(--display); font-weight: 800; font-size: clamp(40px, 9vw, 76px); line-height: .92; letter-spacing: -0.03em; text-transform: none; color: var(--bone); }
.ftt-auth-copy p:not(.ftt-kicker) { color: var(--bone-dim); font-weight: 500; }
.ftt-auth-card { padding: 38px; background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r-2); box-shadow: var(--shadow); }
.ftt-auth-card h1, .ftt-auth-card h2 { margin: 0 0 22px; font-family: var(--display); font-weight: 800; font-size: clamp(34px, 6vw, 46px); line-height: 1; letter-spacing: -0.025em; text-transform: none; color: var(--bone); }
.ftt-auth-card label, .ftt-form-field label { font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .01em; text-transform: none; color: var(--sand); }
.ftt-auth-card input { min-height: 48px; padding: 13px 14px; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); color: var(--bone); font-family: var(--sans); font-weight: 500; }
.ftt-auth-card input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.ftt-password-wrap { position: relative; display: flex; align-items: center; }
.ftt-password-wrap input { width: 100%; padding-right: 74px; background-color: var(--ink-2) !important; color: var(--bone); -webkit-text-fill-color: var(--bone); opacity: 1; }
.ftt-auth-card input,
.ftt-password-wrap input,
.ftt-field input:not([readonly]) {
  background-color: var(--ink-2) !important;
}
.ftt-password-toggle { position: absolute; right: 8px; min-height: 34px; padding: 0 10px; border: 1px solid var(--line-2); border-radius: var(--r); background: var(--panel); color: var(--sand); font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: .01em; cursor: pointer; }
.ftt-password-toggle:hover, .ftt-password-toggle:focus-visible { color: var(--bone); border-color: var(--accent); outline: none; }
.ftt-password-toggle[aria-pressed="true"] { color: var(--accent-text, var(--accent)); }
.ftt-auth-card .ftt-btn-primary { min-height: 52px; background: var(--accent); border-color: var(--accent); color: var(--accent-ink); font-family: var(--mono); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.ftt-auth-card .ftt-btn-primary:hover { background: var(--bone); border-color: var(--bone); color: var(--ink); box-shadow: none; }
.ftt-auth-links a:hover { color: var(--accent-text, var(--accent)); }
.ftt-social-btn { background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); color: var(--bone); }
.ftt-or-divider, .ftt-auth-divider { font-family: var(--mono); letter-spacing: .14em; color: var(--muted-2); }
.ftt-or-divider::before, .ftt-or-divider::after, .ftt-auth-divider::before, .ftt-auth-divider::after { background: var(--line-2); }
.ftt-alert-error { color: #E6A593; background: rgba(196,74,48,.12); border: 1px solid rgba(196,74,48,.4); border-radius: var(--r); }
.ftt-alert-success { color: #B7CBA4; background: rgba(132,160,110,.12); border: 1px solid rgba(132,160,110,.4); }
.flash-success { color: var(--sage); background: rgba(132,160,110,.12); border: 1px solid rgba(132,160,110,.35); }
.flash-error { color: var(--danger); background: rgba(196,74,48,.12); border: 1px solid rgba(196,74,48,.35); }

.ftt-legal-card { background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r-2); }
.ftt-legal-card h2 { font-family: var(--display); font-weight: 700; letter-spacing: -0.02em; text-transform: none; color: var(--bone); }
.ftt-legal-card p { color: var(--bone-dim); }
.ftt-legal-card a { color: var(--brass-text, var(--brass)); font-weight: 600; }
.ftt-legal-intro { color: var(--bone) !important; font-weight: 600; }

.ftt-admin {
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  font-family: var(--sans);
  background: linear-gradient(180deg, var(--ink), #100D07);
  --admin-muted-label: color-mix(in srgb, var(--bone) 68%, var(--sand) 32%);
  --admin-muted-text: color-mix(in srgb, var(--bone) 78%, var(--bone-dim) 22%);
  --admin-muted-soft: color-mix(in srgb, var(--bone-dim) 70%, var(--sand) 30%);
}
.ftt-admin-bar { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 22px; background: var(--ink); border-bottom: 1px solid var(--line-2); }
.ftt-admin-bar::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 2px; background: linear-gradient(90deg, var(--brass-2), transparent 40%); }
.ftt-admin-bar > .ftt-admin-act[href="/logout"] { visibility: hidden; pointer-events: none; }
.ftt-admin-brand { max-width: calc(100vw - 210px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--mono); font-size: 12px; font-weight: 600; letter-spacing: .01em; text-transform: none; color: var(--bone); }
.ftt-admin-brand b { color: var(--accent-text, var(--accent)); }
.ftt-admin-layout { display: grid; grid-template-columns: 224px 1fr; min-height: 0; align-items: start; }
.ftt-admin-main { padding: 22px 26px; }
.ftt-admin-menu-toggle { display: none; align-items: center; gap: 8px; padding: 9px 14px; background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r); color: var(--bone); font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.ftt-admin-h { font-family: var(--display); font-weight: 800; font-size: 26px; letter-spacing: -0.02em; margin: 0 0 4px; }
.ftt-admin-sub { font-family: var(--mono); font-size: 11.5px; letter-spacing: .01em; text-transform: none; color: var(--sand); margin: 0 0 22px; }
a.ftt-dashboard-stat { color: inherit; text-decoration: none; cursor: pointer; }
a.ftt-dashboard-stat:hover,
a.ftt-dashboard-stat:focus-visible { border-color: rgba(207,165,65,.58); filter: brightness(1.08); transform: translateY(-1px); outline: none; }
a.ftt-dashboard-stat:focus-visible { box-shadow: 0 0 0 2px rgba(207,165,65,.35), inset 0 -1px 0 rgba(255,255,255,.03); }
.admin-table { width: 100%; border-collapse: collapse; background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r-2); overflow: hidden; }
.admin-table th { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--line-2); font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .01em; text-transform: none; color: var(--sand); }
.admin-table td { padding: 13px 14px; border-bottom: 1px solid var(--line); font-size: 14px; color: var(--bone-dim); vertical-align: middle; }
.admin-table tr:hover { background: var(--panel-2); }
.ftt-admin-live-listings-table .ftt-admin-listing-titlecell { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: center; gap: 12px; min-width: 240px; }
.ftt-admin-live-listings-table .ftt-admin-listing-thumb { display: block; width: 76px; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--line-2); border-radius: var(--r); background: #0e0b06; }
.ftt-admin-live-listings-table .ftt-admin-listing-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ftt-admin-live-listings-table .ftt-admin-listing-titlemeta { display: grid; gap: 4px; min-width: 0; }
.ftt-admin-live-listings-table .ftt-admin-listing-titlemeta .title { overflow-wrap: anywhere; line-height: 1.25; }
.ftt-admin-live-listings-table .ftt-admin-listing-alert { display: block; margin-top: 4px; }
.admin-actions { display: flex; gap: 8px; }
.admin-card { background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r-2); }
.ftt-admin-act { padding: 7px 12px; border-radius: var(--r); font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; border: 1px solid var(--line-2); background: var(--ink-2); color: var(--bone); cursor: pointer; }
.ftt-admin-act.is-approve { min-height: 44px; padding: 10px 16px; border-color: rgba(132,160,110,.85); background: var(--sage); color: #100D07; font-weight: 800; }
.ftt-admin-act.is-reject  { border-color: rgba(196,74,48,.58); background: rgba(196,74,48,.06); color: #E6A593; font-weight: 600; }
.ftt-admin-act.is-ban { min-height: 44px; padding: 8px 11px; border-color: rgba(196,74,48,.32); background: transparent; color: rgba(230,165,147,.82); font-size: 10px; font-weight: 600; }
.ftt-admin-act:hover { background: var(--panel-2); }
.ftt-admin-act.is-approve:hover { background: #9BB983; color: #0E0B06; }
.ftt-admin-act.is-reject:hover,
.ftt-admin-act.is-ban:hover { border-color: rgba(196,74,48,.75); background: rgba(196,74,48,.11); color: var(--danger); }
.ftt-admin-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); align-items: stretch; gap: 16px; margin-bottom: 26px; }
.ftt-admin-card { display: flex; flex-direction: column; width: 100%; min-height: 218px; padding: 18px; background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r-2); box-shadow: var(--shadow-sm); }
.ftt-admin-card code,
.ftt-form-field code,
.ftt-form-field li { overflow-wrap: anywhere; word-break: break-word; }
.ftt-admin-card h2, .ftt-admin-card h3 { margin: 0 0 8px; font-family: var(--display); font-size: 22px; font-weight: 800; letter-spacing: -0.02em; color: var(--bone); }
.ftt-admin-card p { margin: 0; color: var(--bone-dim); }
.ftt-admin-card .ftt-kicker { margin-bottom: 12px; }
.ftt-admin-link { display: inline-flex; margin-top: 16px; color: var(--accent-text, var(--accent)); font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: .01em; text-transform: none; }
.ftt-admin-link:hover { color: var(--bone); }
.ftt-admin-card > .ftt-admin-link { align-items: center; justify-content: center; min-height: 40px; width: 100%; margin-top: auto; padding: 9px 12px; border: 1px solid rgba(207,165,65,.55); border-radius: 0; background: rgba(207,165,65,.12); color: var(--accent-text, var(--accent)); font-size: 11px; font-weight: 800; letter-spacing: .1em; line-height: 1.2; text-align: center; text-transform: uppercase; text-decoration: none; }
.ftt-admin-card > .ftt-admin-link:hover,
.ftt-admin-card > .ftt-admin-link:focus-visible { background: var(--accent-text, var(--accent)); border-color: var(--accent-text, var(--accent)); color: #100D07; outline: none; }
.ftt-admin-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-bottom: 26px; }
.ftt-admin-meta-item { padding: 14px 16px; background: var(--panel); border: 1px solid var(--line-2); border-radius: var(--r); }
.ftt-admin-meta-item span { display: block; margin-bottom: 8px; font-family: var(--mono); font-size: 11px; letter-spacing: .01em; text-transform: none; color: var(--sand); }
.ftt-admin-meta-item strong { color: var(--bone); font-size: 15px; }
.flash { margin-bottom: 18px; padding: 14px 16px; border-radius: var(--r); border: 1px solid var(--line-2); }
.ftt-admin-moderation-card { display: grid; gap: 16px; padding: 16px; }
.ftt-admin-moderation-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.ftt-admin-moderation-select { font-family: var(--mono); font-size: 11px; letter-spacing: .01em; text-transform: none; }
.ftt-admin-moderation-submitted { display: grid; gap: 4px; justify-items: end; text-align: right; }
.ftt-admin-moderation-submitted strong { color: var(--bone); font-size: 13px; }
.ftt-admin-moderation-submitted span { color: var(--sand); font-family: var(--mono); font-size: 11px; letter-spacing: .01em; }
.ftt-admin-moderation-preview { display: grid; }
.ftt-admin-moderation-preview[data-ftt-browse-view] { grid-template-columns: 1fr; }
.ftt-admin-moderation-preview .ftt-listing-card { height: 100%; }
.ftt-admin-moderation-details { display: grid; grid-template-columns: 1fr; gap: 10px; }
.ftt-admin-moderation-detail { display: grid; gap: 6px; padding: 12px; background: var(--ink-2); border: 1px solid var(--line-2); border-radius: var(--r); min-width: 0; }
.ftt-admin-moderation-detail span,
.ftt-admin-moderation-excerpt span { color: var(--sand); font-family: var(--mono); font-size: 11px; letter-spacing: .01em; text-transform: none; }
.ftt-admin-moderation-detail strong { color: var(--bone); font-size: 14px; min-width: 0; overflow-wrap: anywhere; }
.ftt-admin-moderation-excerpt { display: grid; gap: 8px; }
.ftt-admin-moderation-excerpt p { margin: 0; color: var(--bone-dim); }
.ftt-admin-moderation-actions { grid-template-columns: 1fr; gap: 10px; min-width: 0; }
.ftt-admin-moderation-actions form { display: grid; gap: 10px; }
.ftt-admin-moderation-actions .ftt-admin-act,
.ftt-admin-moderation-actions select { width: 100%; min-height: 46px; }
.ftt-admin-listing { display: flex; align-items: center; gap: 12px; min-width: 220px; }
.ftt-admin-thumb { width: 72px; height: 56px; border-radius: var(--r); object-fit: cover; background: var(--panel-2); border: 1px solid var(--line-2); flex: 0 0 auto; }
.ftt-admin-thumb-empty { display: block; }
@media (min-width: 760px) {
  .ftt-admin-moderation-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .ftt-admin-brand { max-width: calc(100vw - 178px); }
  .ftt-admin-layout { grid-template-columns: 1fr; }
  .ftt-admin-menu-toggle { display: inline-flex; }
  .ftt-admin-main { padding: 18px 16px; min-width: 0; }
  .ftt-admin-moderation-actions .ftt-admin-act,
.ftt-admin-moderation-actions select { width: 100%; }
  .ftt-admin-moderation-top { align-items: stretch; flex-direction: column; }
  .ftt-admin-moderation-submitted { justify-items: start; text-align: left; }
}

@media (max-width: 720px) {
  .admin-table,
.admin-table thead,
.admin-table tbody,
.admin-table tr,
.admin-table th,
.admin-table td {
    display: block;
  }
  .admin-table {
    border: 0;
    background: transparent;
  }
  .admin-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }
  .admin-table tbody {
    display: grid;
    gap: 14px;
  }
  .admin-table tbody tr {
    padding: 12px;
    background: var(--panel);
    border: 1px solid var(--line-2);
    border-radius: var(--r-2);
  }
  .admin-table td {
    display: grid;
    grid-template-columns: minmax(96px, 36%) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 9px 0;
    border-bottom: 1px solid var(--line);
  }
  .admin-table td:last-child {
    border-bottom: 0;
  }
  .admin-table td::before {
    content: attr(data-label);
    color: var(--admin-muted-label, var(--sand));
    font-family: var(--mono);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .admin-table td[data-label=""]::before {
    content: none;
  }
}

@keyframes ftt-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.ftt-hero .ftt-kicker { animation: ftt-rise .6s .02s both; }
.ftt-hero h1          { animation: ftt-rise .7s .10s both; }
.ftt-hero-tagline     { animation: ftt-rise .6s .20s both; }
.ftt-hero p:not(.ftt-kicker):not(.ftt-hero-tagline) { animation: ftt-rise .6s .28s both; }
.ftt-hero-actions     { animation: ftt-rise .6s .36s both; }
.ftt-browse-grid > *  { animation: ftt-rise .5s both; }
.ftt-browse-grid > *:nth-child(2){ animation-delay:.05s } .ftt-browse-grid > *:nth-child(3){ animation-delay:.10s }
.ftt-browse-grid > *:nth-child(4){ animation-delay:.15s } .ftt-browse-grid > *:nth-child(5){ animation-delay:.20s }
.ftt-browse-grid > *:nth-child(6){ animation-delay:.25s }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

.ftt-listing-card, .ftt-category-tile, .ftt-card-category,
.ftt-listing-side, .ftt-listing-copy, .ftt-gallery, .ftt-auth-card, .ftt-sell-card,
.ftt-contact-panel, .ftt-seller-panel { border-radius: var(--r-2); }

.ftt-phase-page {
  min-height: 62vh;
  background:
    radial-gradient(110% 70% at 100% 0%, rgba(216,84,42,.07), transparent 54%),
    linear-gradient(180deg, var(--ink-2), var(--ink) 46%);
}
.ftt-phase-page .ftt-section-head h1,
.ftt-area-hero h1 {
  margin: 0;
  font-family: var(--display);
  font-weight: 900;
  font-size: clamp(42px, 9vw, 86px);
  line-height: .92;
  letter-spacing: -0.035em;
  color: var(--bone);
}
.ftt-area-hero h1 {
  max-width: 100%;
  font-size: clamp(2.25rem, 7vw, 5.375rem);
  overflow-wrap: anywhere;
  hyphens: auto;
}

.ftt-event-list {
  display: grid;
  gap: 16px;
}
.ftt-events-page .ftt-page-sub {
  max-width: 65ch;
}
.ftt-event-card,
.ftt-vendor-card,
.ftt-area-section,
.ftt-area-card,
.ftt-area-callout {
  position: relative;
  background: var(--panel);
  border: 1px solid var(--line-2);
  border-radius: var(--r-2);
  box-shadow: var(--shadow-sm);
}
.ftt-event-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  overflow: hidden;
  scroll-margin-top: calc(var(--ftt-nav-height, 72px) + 24px);
}
.ftt-event-meta {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}
.ftt-event-logo {
  max-width: 144px;
  max-height: 96px;
  object-fit: contain;
}
.ftt-event-card::before,
.ftt-vendor-card::before,
.ftt-area-section::before,
.ftt-area-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, var(--ember), transparent 46%);
}
.ftt-event-date,
.ftt-ticket-badge,
.ftt-area-label,
.ftt-area-back,
.ftt-area-card span,
.ftt-area-spec span,
.ftt-area-facts dt,
.ftt-area-callout span {
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: .01em;
  line-height: 1.35;
  text-transform: none;
}
.ftt-event-date {
  display: inline-block;
  color: var(--accent);
  font: 800 13px/1.35 var(--mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.ftt-event-copy h2,
.ftt-vendor-card h2,
.ftt-area-section h2,
.ftt-area-card strong {
  margin: 0;
  font-family: var(--display);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--bone);
}
.ftt-event-copy h2,
.ftt-vendor-card h2 { font-size: clamp(23px, 4vw, 34px); }
.ftt-event-copy p,
.ftt-vendor-card p,
.ftt-area-section p,
.ftt-area-hero p,
.ftt-area-card em {
  color: var(--bone-dim);
}
.ftt-event-copy p,
.ftt-vendor-card p,
.ftt-area-section p {
  margin: 12px 0 0;
}
.ftt-event-location {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .01em;
  text-transform: none;
  color: var(--sand) !important;
}
.ftt-event-booth {
  display: inline-flex;
  align-items: center;
  margin-top: 6px;
  min-height: 26px;
  padding: 4px 9px;
  border: 1px solid rgba(249, 115, 22, .6);
  border-radius: 999px;
  color: var(--accent);
  font: 700 11px/1.2 var(--mono);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ftt-event-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ftt-event-actions .ftt-btn {
  min-height: 44px;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
}
.ftt-events-foot {
  margin: 28px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}
.ftt-events-foot a {
  color: var(--sand);
  font-weight: 700;
  text-underline-offset: 3px;
}
.ftt-events-foot a:hover,
.ftt-events-foot a:focus-visible {
  color: var(--accent);
}
.ftt-info-disclaimer {
  max-width: 62ch;
  margin: 12px 0 0;
  padding: 6px 0 6px 10px;
  border-left: 2px solid var(--line-strong);
  color: var(--muted-2) !important;
  font-family: var(--mono);
  font-size: 12.5px;
  line-height: 1.55;
  letter-spacing: normal;
  opacity: 1;
}
.ftt-info-disclaimer a {
  color: var(--sand);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.ftt-info-disclaimer a:hover {
  color: var(--bone-dim);
}
.ftt-info-disclaimer--events {
  margin: 28px 0 0;
}
.ftt-vendor-grid,
.ftt-area-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.ftt-vendor-card {
  min-height: 220px;
  padding: 20px;
}
.ftt-vendor-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.ftt-ticket-badge {
  flex: 0 0 auto;
  padding: 5px 8px;
  color: var(--ember);
  border: 1px solid rgba(216,84,42,.45);
  border-radius: 2px;
  background: var(--ember-soft);
}
.ftt-sponsored-badge {
  display: inline-flex;
  grid-column: 1 / -1;
  justify-self: start;
  width: max-content;
  max-width: 100%;
  color: var(--bone);
  background: rgba(216,84,42,.22);
  font-size: 12px;
  font-weight: 800;
}
.ftt-vendor-link {
  display: inline-flex;
  margin-top: 18px;
  color: var(--steel);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .01em;
  text-transform: none;
}
.ftt-vendor-link:hover { color: var(--ember); }

.ftt-area-hero {
  position: relative;
  overflow: hidden;
  padding: 84px 0 52px;
  background:
    linear-gradient(180deg, rgba(19,16,9,.74), rgba(19,16,9,.95)),
    linear-gradient(120deg, var(--panel-2), var(--ink));
  border-bottom: 1px solid var(--line-2);
}
.ftt-area-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--contour);
  background-size: 560px;
  opacity: .05;
  pointer-events: none;
}
.ftt-area-hero .ftt-wrap {
  position: relative;
  z-index: 1;
  min-width: 0;
}
.ftt-area-weather-alert {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 18px 0 24px;
  padding: 16px 18px;
  color: #FFF2C2;
  background: linear-gradient(135deg, rgba(183,28,28,.42), rgba(255,179,0,.22));
  border: 1px solid rgba(255,179,0,.56);
  border-left: 5px solid #FFB300;
  border-radius: var(--r);
  box-shadow: 0 14px 34px -24px rgba(255,179,0,.8);
}
.ftt-area-weather-alert--ftt {
  color: #FFE9B0;
  background: linear-gradient(135deg, rgba(154,63,6,.38), rgba(255,179,0,.18));
  border-style: dashed;
  border-color: rgba(255,179,0,.4);
  border-left-color: var(--accent);
  box-shadow: 0 14px 34px -26px rgba(249,115,22,.72);
}
.ftt-area-weather-alert > span {
  flex: 0 0 auto;
  color: #FFB300;
  font-size: 24px;
  line-height: 1;
  text-shadow: 0 0 14px rgba(255,179,0,.5);
}
.ftt-area-weather-alert--ftt > span {
  color: var(--accent-text, var(--accent));
  text-shadow: 0 0 14px rgba(249,115,22,.45);
}
.ftt-area-weather-alert strong {
  display: block;
  color: #FFF8DE;
  font-family: var(--display);
  font-size: clamp(1.05rem, 2vw, 1.45rem);
  font-weight: 900;
  line-height: 1.1;
}
.ftt-area-weather-alert p {
  margin: 5px 0 0;
  color: #FFF2C2;
  font-family: var(--mono);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ftt-area-back {
  display: inline-flex;
  margin-bottom: 24px;
  color: var(--steel);
}
.ftt-area-back:hover { color: var(--ember); }
.ftt-area-breadcrumb { margin-bottom: 24px; padding: 0; }
.ftt-area-location-line { margin: 8px 0 0 !important; color: var(--sand) !important; font-family: var(--mono); font-size: 13px !important; font-weight: 600; line-height: 1.35; }
.ftt-area-hero-text > .ftt-area-picker__chips { gap: 8px; margin-top: 14px; }
.ftt-area-picker__chip.is-area { min-height: 0; padding: 8px 14px; line-height: 1.2; }
.ftt-area-hero p:not(.ftt-kicker) {
  max-width: 72ch;
  margin: 18px 0 0;
  font-size: clamp(16px, 2.2vw, 19px);
}
.ftt-area-description {
  display: grid;
  gap: clamp(30px, 4vw, 42px);
  max-width: 72ch;
  margin-top: 24px;
}
.ftt-area-description__section h2 {
  margin: 0 0 10px;
  color: var(--bone);
  font-family: var(--mono);
  font-size: clamp(20px, 2.5vw, 24px);
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.ftt-area-description__section p {
  margin: 0 !important;
  font-size: clamp(16px, 2.2vw, 19px);
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.ftt-area-description__section p + p {
  margin-top: 12px !important;
}
.ftt-area-bullets {
  margin: 0;
  padding-left: 1.4em;
  color: var(--bone-dim);
  font-size: clamp(16px, 2.2vw, 19px);
  line-height: 1.6;
  list-style: disc outside;
}
.ftt-area-bullets li {
  padding-left: .2em;
  overflow-wrap: anywhere;
}
.ftt-area-bullets li + li {
  margin-top: .7em;
}
.ftt-area-spec {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1px;
  margin-top: 32px;
  border: 1px solid var(--line-2);
  background: var(--line);
}
.ftt-area-spec div {
  padding: 14px 16px;
  background: color-mix(in srgb, var(--panel) 92%, transparent);
}
.ftt-area-spec span,
.ftt-area-facts dt,
.ftt-area-callout span,
.ftt-area-card span {
  display: block;
  margin-bottom: 5px;
  color: var(--ember);
}
.ftt-area-spec strong,
.ftt-area-facts dd,
.ftt-area-callout strong {
  color: var(--bone);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
}
.ftt-area-conditions-alert{display:inline;margin:0 0 0 4px;color:#ffb300;font-size:.9em}
.ftt-area-alert-strip{min-width:0;margin:0;padding:14px 16px;border-left:5px solid #ff9f1a;background:rgba(255,159,26,.1);color:var(--bone);overflow-wrap:anywhere}
.ftt-area-alert-strip--critical{border-left-color:#e34a1a;background:rgba(227,74,26,.12)}
.ftt-area-alert-strip__heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.ftt-area-alert-strip__heading strong{color:var(--bone)}
.ftt-area-alert-strip__heading span{color:var(--sand);font:800 11px/1.4 var(--mono);text-transform:uppercase}
.ftt-area-alert-strip p{margin:6px 0 0;color:var(--bone-dim);line-height:1.5}
.ftt-area-statboard{
  grid-template-columns:minmax(0,1fr);
  gap:0;
  overflow:hidden;
  border:1px solid var(--line-2);
  border-radius:var(--r);
  background-color:var(--panel);
  background-image:
    linear-gradient(135deg,color-mix(in srgb,var(--carbon-weave) 32%,transparent) 25%,transparent 25%),
    linear-gradient(225deg,color-mix(in srgb,var(--carbon-weave) 32%,transparent) 25%,transparent 25%),
    linear-gradient(315deg,color-mix(in srgb,var(--carbon-weave) 32%,transparent) 25%,transparent 25%),
    linear-gradient(45deg,color-mix(in srgb,var(--carbon-weave) 32%,transparent) 25%,transparent 25%);
  background-position:-3px 0,-3px 0,0 0,0 0;
  background-size:6px 6px;
  box-shadow:var(--shadow-sm);
}
.ftt-area-statboard--alerted{border-radius:var(--r) var(--r) 0 0;box-shadow:none}
.ftt-area-statboard>div{position:relative;min-width:0;background:transparent;overflow-wrap:anywhere}
.ftt-area-statboard>div+div::before{
  content:"";
  position:absolute;
  top:0;
  right:16px;
  left:16px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--line-2) 18%,var(--accent) 50%,var(--line-2) 82%,transparent);
}
.ftt-area-statboard-alert{
  margin:0;
  border:1px solid var(--line-2);
  border-top:0;
  border-left:4px solid var(--accent);
  border-radius:0 0 var(--r) var(--r);
  background-color:var(--panel);
  background-image:
    linear-gradient(135deg,color-mix(in srgb,var(--carbon-weave) 32%,transparent) 25%,transparent 25%),
    linear-gradient(225deg,color-mix(in srgb,var(--carbon-weave) 32%,transparent) 25%,transparent 25%),
    linear-gradient(315deg,color-mix(in srgb,var(--carbon-weave) 32%,transparent) 25%,transparent 25%),
    linear-gradient(45deg,color-mix(in srgb,var(--carbon-weave) 32%,transparent) 25%,transparent 25%);
  background-position:-3px 0,-3px 0,0 0,0 0;
  background-size:6px 6px;
  box-shadow:var(--shadow-sm);
}
.ftt-area-statboard-alert--critical{border-left-color:var(--danger)}
@media(min-width:700px){
  .ftt-area-statboard{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
  .ftt-area-statboard>div+div::before{top:14px;bottom:14px;left:0;width:1px;height:auto;background:linear-gradient(180deg,transparent,var(--line-2) 18%,var(--accent) 50%,var(--line-2) 82%,transparent)}
}
.ftt-area-fact-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--sand);
  font: inherit;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  transition: text-decoration-color .18s ease;
}
.ftt-area-fact-link:hover {
  text-decoration-color: currentColor;
}
.ftt-area-fact-link:focus-visible {
  border-radius: var(--r);
  outline: 2px solid var(--sand);
  outline-offset: 3px;
}
#ftt-area-access-heading,
#ftt-area-fuel-resources,
#ftt-area-food-resources,
#ftt-area-hazards-heading {
  scroll-margin-top: calc(var(--ftt-nav-height, 72px) + 24px);
}

.ftt-area-layout {
  display: grid;
  gap: 18px;
}
.ftt-area-section {
  padding: 22px;
}
.ftt-area-section h2 {
  font-size: clamp(25px, 5vw, 38px);
}
.ftt-area-label {
  margin: 0 0 12px !important;
  color: var(--ember) !important;
}
.ftt-area-nearby {
  background: var(--ink-2);
  border-color: var(--line);
}
.ftt-area-nearby::before {
  background: var(--line-2);
}
.ftt-area-nearby .ftt-area-label {
  color: var(--sand) !important;
}
.ftt-area-nearby-note {
  max-width: 70ch;
  color: var(--sand) !important;
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1.55;
}
.ftt-card-meta-distance {
  color: var(--bone);
  font-weight: 700;
}
.ftt-area-table {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}
.ftt-area-table div {
  padding: 14px;
  background: var(--ink-2);
  border: 1px solid var(--line-2);
  border-radius: var(--r);
}
.ftt-area-table span {
  color: var(--ember);
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ftt-area-table strong {
  display: block;
  margin-top: 4px;
  color: var(--bone);
  font-family: var(--display);
  font-size: 22px;
}
.ftt-area-facts {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  margin: 16px 0 0;
  background: var(--line);
  border: 1px solid var(--line);
}
.ftt-area-facts div {
  padding: 13px 14px;
  background: var(--ink-2);
}
.ftt-area-facts dd {
  margin: 0;
}
.ftt-area-list {
  display: grid;
  gap: 9px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}
.ftt-area-list li {
  position: relative;
  padding-left: 20px;
  color: var(--bone-dim);
}
.ftt-area-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 8px;
  height: 2px;
  background: var(--ember);
}
.ftt-area-grid--blocks {
  grid-template-columns: 1fr;
}
.ftt-area-callout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  overflow: hidden;
  background: var(--line);
}
.ftt-area-callout div {
  padding: 18px;
  background: var(--ember-soft);
}
.ftt-area-callout strong {
  display: block;
  font-size: clamp(19px, 4vw, 28px);
}
.ftt-area-card {
  display: grid;
  gap: 8px;
  min-height: 180px;
  padding: 18px;
  overflow: hidden;
  transition: background .18s ease, border-color .18s ease;
}
.ftt-area-card:hover {
  background: var(--panel-2);
  border-color: var(--line-strong);
}
.ftt-area-card strong {
  font-size: clamp(24px, 5vw, 36px);
}
.ftt-area-card em {
  font-style: normal;
}

@media (min-width: 700px) {
  .ftt-vendor-grid,
  .ftt-area-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ftt-area-callout:has(> :nth-child(2)) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
  .ftt-area-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ftt-area-table {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ftt-area-grid--blocks {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .ftt-event-meta {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
  }
  .ftt-event-logo {
    max-width: min(144px, 48%);
  }
  .ftt-event-date {
    max-width: 48%;
    text-align: right;
    overflow-wrap: anywhere;
  }
  .ftt-event-actions,
  .ftt-event-actions .ftt-btn {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
  }
}

@media (min-width: 900px) {
  .ftt-event-card {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) 180px;
    align-items: stretch;
  }
  .ftt-event-meta {
    justify-content: center;
    width: 180px;
    flex-shrink: 0;
  }
  .ftt-event-copy {
    flex: 1 1 auto;
    min-width: 0;
  }
  .ftt-event-actions {
    width: 180px;
    flex-shrink: 0;
  }
}

@media (min-width: 1020px) {
  .ftt-vendor-grid,
  .ftt-area-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.ftt-area-index-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}

.ftt-area-state-list {
  display: grid;
  gap: 40px;
}

.ftt-area-state {
  scroll-margin-top: 24px;
}

.ftt-area-state-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.ftt-area-state-head h2 {
  margin: 0;
  color: var(--bone);
  font-size: 24px;
}

.ftt-area-state-head span {
  flex: 0 0 auto;
  max-width: 100%;
  color: var(--sand);
  font: 600 11px/1.4 var(--mono);
}

.ftt-area-index-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background: var(--panel);
  border: 1px solid var(--line-2);
  border-radius: var(--r-2);
  transition: border-color .18s ease, transform .18s ease;
}

.ftt-area-index-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: var(--ember);
  opacity: 0;
  transition: opacity .18s ease;
}

.ftt-area-index-card:hover {
  border-color: var(--ember);
  transform: translateY(-2px);
}

.ftt-area-index-card:hover::before {
  opacity: 1;
}

.ftt-area-index-card strong {
  color: var(--bone);
  font-family: var(--display);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.08;
}

.ftt-area-index-card em {
  color: var(--sand);
  font-family: var(--mono);
  font-size: 12px;
  font-style: normal;
  line-height: 1.55;
}

.ftt-area-index-card span {
  color: var(--ember);
  font-family: var(--mono);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: .01em;
  line-height: 1.35;
  text-transform: none;
}

@media (max-width: 600px) {
  .ftt-area-index-grid {
    grid-template-columns: 1fr;
  }
}

.ftt-small-print {
  color: var(--bone);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
}
.ftt-credit {
  color: var(--sand);
  font-size: 13px;
  line-height: 1.5;
}
.ftt-credit a {
  color: inherit;
}
.ftt-footer-link-button {
  appearance: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 1.4;
  vertical-align: baseline;
  cursor: pointer;
}
.ftt-footer-link-button:hover,
.ftt-footer-link-button:focus-visible {
  color: var(--accent-text, var(--accent));
}
.ftt-footer-link-button:focus-visible {
  outline: 2px solid var(--accent-text, var(--accent));
  outline-offset: 4px;
}
.ftt-faq-list {
  display: grid;
  gap: 10px;
}
.ftt-faq-item {
  padding: 16px 18px;
  border: 1px solid var(--line-2);
  border-radius: var(--r);
  background: var(--ink-2);
}
.ftt-faq-item summary {
  color: var(--bone);
  font-weight: 700;
  cursor: pointer;
}
.ftt-faq-item p {
  margin: 10px 0 0;
  color: var(--bone-dim);
}

.ftt-hero::after,
.ftt-spectrum-hero::after {
  display: none;
}

.ftt-holiday-banner { position: relative; z-index: 19; overflow: hidden; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(0,0,0,.26); background: linear-gradient(90deg, color-mix(in srgb, var(--accent) 18%, transparent), color-mix(in srgb, var(--brass) 14%, transparent), rgba(0,0,0,.18)), linear-gradient(90deg, var(--panel), var(--ink)); box-shadow: 0 14px 34px rgba(0, 0, 0, .22); }
.ftt-holiday-banner::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--accent), var(--brass)); box-shadow: 0 0 18px color-mix(in srgb, var(--accent) 30%, transparent); }
.ftt-holiday-banner__inner { display: flex; align-items: center; justify-content: center; gap: 16px; padding: 13px 20px 11px; text-align: center; }
.ftt-holiday-banner__title { margin: 0; color: var(--accent-text, var(--accent)); font-family: var(--display); font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.ftt-holiday-banner__message { margin: 0; color: color-mix(in srgb, var(--bone) 92%, #fff); font-size: 14px; font-weight: 700; line-height: 1.35; }
.ftt-promo-banner { display: block; position: relative; z-index: 18; overflow: hidden; border-top: 1px solid rgba(249,115,22,.28); border-bottom: 1px solid rgba(0,0,0,.3); background: linear-gradient(90deg, rgba(249,115,22,.2), rgba(249,115,22,.08) 42%, rgba(0,0,0,.22)), #101010; box-shadow: 0 12px 30px rgba(0,0,0,.24); text-decoration: none; }
.ftt-promo-banner::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, #f97316, #d4a574); box-shadow: 0 0 16px rgba(249,115,22,.28); }
.ftt-promo-banner__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 16px; padding: 13px 20px 11px; text-align: center; }
.ftt-promo-banner__message { margin: 0; color: #fff7ed; font-size: 14px; font-weight: 800; line-height: 1.35; }
.ftt-promo-banner__code { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 5px 9px; border: 1px solid rgba(249,115,22,.42); border-radius: var(--r); background: rgba(249,115,22,.12); color: #fff7ed; font-family: var(--mono); font-size: 12px; line-height: 1; }
.ftt-promo-banner__code span { color: #d4a574; text-transform: uppercase; letter-spacing: .08em; }
.ftt-promo-banner__code strong { color: #fff; font-weight: 900; letter-spacing: .02em; }
.theme-july-4th .ftt-holiday-banner { border-top-color: rgba(255,255,255,.18); background: linear-gradient(90deg, rgba(178,34,52,.2), rgba(255,255,255,.08) 48%, rgba(60,59,110,.3)), linear-gradient(90deg, var(--panel), var(--ink)); box-shadow: 0 16px 38px rgba(0, 0, 0, .26), inset 0 0 0 1px rgba(255,255,255,.08); }
.theme-july-4th .ftt-holiday-banner::before { height: 3px; background: rgba(255,255,255,.34); box-shadow: 0 0 18px rgba(255,255,255,.16); }
.theme-july-4th .ftt-holiday-banner__inner { gap: 18px; padding: 14px 20px; }
.theme-july-4th .ftt-holiday-banner__inner::before,
.theme-july-4th .ftt-holiday-banner__inner::after { content: ""; width: 36px; height: 20px; flex: 0 0 auto; background: url(/assets/icons/us-flag.svg) center/contain no-repeat; border-radius: 2px; box-shadow: 0 1px 3px rgba(0,0,0,.4); }
.theme-july-4th .ftt-holiday-banner__title { color: #3C3B6E; font-size: 18px; -webkit-text-stroke: 1px #FFFFFF; text-stroke: 1px #FFFFFF; paint-order: stroke fill; text-shadow: 1px 0 0 #FFFFFF, -1px 0 0 #FFFFFF, 0 1px 0 #FFFFFF, 0 -1px 0 #FFFFFF, 1px 1px 0 #FFFFFF, -1px -1px 0 #FFFFFF, 1px -1px 0 #FFFFFF, -1px 1px 0 #FFFFFF; }
.theme-july-4th .ftt-holiday-banner__message { color: #FFFFFF; font-size: 15px; text-shadow: 0 0 16px rgba(178,34,52,.22); }
.theme-valentines .ftt-holiday-banner { border-top-color: rgba(255,179,193,.22); background: linear-gradient(90deg, rgba(229,62,90,.22), rgba(255,143,163,.13) 48%, rgba(229,62,90,.2)), linear-gradient(90deg, var(--panel), var(--ink)); box-shadow: 0 16px 38px rgba(0, 0, 0, .26), inset 0 0 0 1px rgba(255,179,193,.1); }
.theme-valentines .ftt-holiday-banner::before { height: 3px; background: rgba(255,179,193,.48); box-shadow: 0 0 18px rgba(255,143,163,.18); }
.theme-valentines .ftt-holiday-banner__inner { gap: 18px; padding: 14px 20px; }
.theme-valentines .ftt-holiday-banner__inner::before,
.theme-valentines .ftt-holiday-banner__inner::after { content: ""; width: 26px; height: 32px; flex: 0 0 auto; background: url(/assets/icons/valentines-balloons.svg) center/contain no-repeat; box-shadow: 0 2px 6px rgba(0,0,0,.34); }
.theme-valentines .ftt-holiday-banner__title { color: #FFB3C1; font-size: 13px; text-shadow: 0 0 16px rgba(255,143,163,.2); }
.theme-valentines .ftt-holiday-banner__message { color: #FFFFFF; font-size: 15px; text-shadow: 0 0 16px rgba(229,62,90,.22); }
.theme-presidents-day .ftt-holiday-banner { border-top-color: rgba(168,196,238,.2); background: linear-gradient(90deg, rgba(46,74,138,.3), rgba(181,57,43,.16) 48%, rgba(46,74,138,.26)), linear-gradient(90deg, var(--panel), var(--ink)); box-shadow: 0 16px 38px rgba(0, 0, 0, .26), inset 0 0 0 1px rgba(168,196,238,.08); }
.theme-presidents-day .ftt-holiday-banner::before { height: 3px; background: rgba(168,196,238,.34); box-shadow: 0 0 18px rgba(74,100,160,.18); }
.theme-presidents-day .ftt-holiday-banner__inner { gap: 18px; padding: 14px 20px; }
.theme-presidents-day .ftt-holiday-banner__inner::before,
.theme-presidents-day .ftt-holiday-banner__inner::after { content: ""; width: 34px; height: 24px; flex: 0 0 auto; background: url(/assets/icons/presidents-lincoln.svg) center/contain no-repeat; filter: drop-shadow(0 2px 5px rgba(0,0,0,.36)); }
.theme-presidents-day .ftt-holiday-banner__title { color: #DCEBFF; font-size: 13px; text-shadow: 0 0 16px rgba(168,196,238,.18); }
.theme-presidents-day .ftt-holiday-banner__message { color: #FFFFFF; font-size: 15px; text-shadow: 0 0 16px rgba(181,57,43,.22); }

.ftt-admin .ftt-admin-sub,
.ftt-admin .admin-table th,
.ftt-admin .ftt-admin-meta-item span,
.ftt-admin .ftt-admin-moderation-submitted span,
.ftt-admin .ftt-admin-moderation-detail span,
.ftt-admin .ftt-admin-moderation-excerpt span {
  color: var(--admin-muted-label);
}

.ftt-admin .admin-table td,
.ftt-admin .ftt-admin-card p,
.ftt-admin .ftt-admin-moderation-excerpt p {
  color: var(--admin-muted-text);
}

.ftt-admin .ftt-admin-moderation-select {
  color: var(--admin-muted-soft);
}

@media (max-width: 900px) {
  .ftt-holiday-banner__inner { flex-direction: column; gap: 4px; padding: 10px 16px; }
  .ftt-promo-banner__inner { flex-direction: column; gap: 8px; padding: 12px 16px; }
  .ftt-holiday-banner__title { letter-spacing: .1em; }
  .theme-july-4th .ftt-holiday-banner__inner { gap: 6px; padding: 12px 16px; }
  .theme-july-4th .ftt-holiday-banner__inner::before { width: 30px; height: 17px; }
  .theme-july-4th .ftt-holiday-banner__inner::after { display: none; }
  .theme-valentines .ftt-holiday-banner__inner { gap: 6px; padding: 12px 16px; }
  .theme-valentines .ftt-holiday-banner__inner::before { width: 22px; height: 28px; }
  .theme-valentines .ftt-holiday-banner__inner::after { display: none; }
  .theme-presidents-day .ftt-holiday-banner__inner { gap: 6px; padding: 12px 16px; }
  .theme-presidents-day .ftt-holiday-banner__inner::before { width: 28px; height: 20px; }
  .theme-presidents-day .ftt-holiday-banner__inner::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .ftt-holiday-banner,
.ftt-promo-banner { transition: none; }
}

.ftt-nav-social{display:inline-flex;align-items:center;gap:12px;margin:0 4px;}
.ftt-nav-social a{display:inline-flex;align-items:center;color:inherit;opacity:.8;transition:opacity .15s ease;}
.ftt-nav-social a:hover{opacity:1;}

.ftt-hero-pricing-note{margin-top:10px;font-size:.85rem;opacity:.8;}
.ftt-hero-pricing-note a{color:inherit;text-decoration:underline;}

.ftt-fork-section{padding:56px 0 72px;}
.ftt-fork-wrap{max-width:900px;margin:0 auto;text-align:center;}
.ftt-fork-wrap h1{margin:6px 0 0;}
.ftt-fork-sub{opacity:.78;margin:10px 0 36px;}
.ftt-fork-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media(max-width:640px) {.ftt-fork-grid{grid-template-columns:1fr;}}
.ftt-fork-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;padding:34px 30px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.03);color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease,background .15s ease,box-shadow .15s ease;}
.ftt-fork-card:hover{border-color:#5b6cff;background:rgba(91,108,255,.08);transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.25);}
.ftt-fork-tag{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;opacity:.7;background:rgba(255,255,255,.08);padding:3px 10px;border-radius:999px;}
.ftt-fork-card h2{margin:4px 0 0;font-size:1.7rem;}
.ftt-fork-card p{margin:0;opacity:.8;line-height:1.5;}
.ftt-fork-go{margin-top:auto;pointer-events:none;}

.ftt-rent-types{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 6px;}
@media(max-width:640px) {.ftt-rent-types{grid-template-columns:1fr;}}
.ftt-rent-type-card{position:relative;display:flex;align-items:center;gap:14px;padding:18px 18px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.03);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease;}
.ftt-rent-type-card:hover{border-color:#5b6cff;background:rgba(91,108,255,.08);transform:translateY(-2px);}
.ftt-rent-type-card:focus-within{border-color:#5b6cff;box-shadow:0 0 0 2px rgba(91,108,255,.45);}
.ftt-rent-type-card.is-selected{border-color:#5b6cff;background:rgba(91,108,255,.14);}
.ftt-rent-type-card input{position:absolute;top:14px;left:14px;width:18px;height:18px;accent-color:#5b6cff;margin:0;}
.ftt-rent-type-body{display:flex;flex-direction:column;gap:3px;flex:1;padding-left:26px;}
.ftt-rent-type-body strong{font-size:1.05rem;}
.ftt-rent-type-body em{font-style:normal;opacity:.72;font-size:.85rem;line-height:1.35;}
.ftt-rent-type-fee{font-size:1.35rem;font-weight:700;white-space:nowrap;}
.ftt-rent-type-fee small{font-size:.8rem;font-weight:500;opacity:.7;}
.ftt-rent-fee-summary{margin:8px 0 0;padding:12px 15px;border-radius:10px;background:rgba(91,108,255,.1);border:1px solid rgba(91,108,255,.3);color:var(--bone);font-size:clamp(17px,2vw,20px);font-weight:800;line-height:1.45;display:none;}
.ftt-rent-fee-summary.is-visible{display:block;}
.ftt-rent-details{display:none;}
.ftt-rent-details.is-revealed{display:block;}

a.ftt-pricing-card--link{text-decoration:none;color:inherit;cursor:pointer;display:flex;flex-direction:column;}
a.ftt-pricing-card--link:hover{border-color:#5b6cff;background:rgba(91,108,255,.06);transform:translateY(-2px);}
.ftt-pricing-cta{display:inline-block;margin-top:14px;font-family:var(--mono,monospace);font-size:.8rem;letter-spacing:.04em;color:#5b6cff;}

.ftt-area-callout span { color: var(--bone); opacity: .82; }

.ftt-area-hero-top{display:flex;gap:32px;align-items:flex-start;min-width:0;}
.ftt-area-hero-text{flex:1 1 auto;min-width:0;}
.ftt-area-hero-photo{flex:0 0 38%;max-width:440px;margin-left:auto;padding-left:28px;}
.ftt-area-hero-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px;display:block;border:1px solid var(--line-2);}
.ftt-area-map-pin{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor;}
.ftt-area-map-pin:hover{color:#5b6cff;}
.ftt-area-map-pin:focus-visible{outline:2px solid #5b6cff;outline-offset:3px;border-bottom-color:transparent;}
.ftt-area-resources h2{margin-bottom:18px;}
.ftt-area-trip-notice{margin:0 0 20px;padding:14px 16px;border-left:3px solid var(--amber);border-radius:var(--r-2);background:color-mix(in srgb,var(--amber) 9%,var(--panel));color:var(--bone-dim);line-height:1.55;}
.ftt-area-trip-notice strong{color:var(--bone);}
.ftt-area-resource-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px;}
.ftt-area-resource-group h3{margin:0 0 10px;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sand);}
.ftt-area-resource-list{display:grid;gap:10px;margin:0;padding:0;list-style:none;}
.ftt-area-resource-list li{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;}
.ftt-area-resource-name{max-width:100%;color:var(--bone);overflow-wrap:anywhere}
.ftt-area-map-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;max-width:100%;min-width:120px;min-height:44px;padding:9px 12px;border:1px solid rgba(207,165,65,.48);border-radius:var(--r);color:var(--sand);font-weight:800;overflow-wrap:anywhere;text-align:center;text-decoration:none}
.ftt-area-map-action:hover{border-color:var(--sand);color:var(--bone)}
.ftt-area-map-action:focus-visible{outline:2px solid var(--sand);outline-offset:3px}
.ftt-area-map-action--search{border-color:var(--line-2);color:var(--muted);font-weight:700}
.ftt-area-map-action--search:hover{border-color:var(--muted);color:var(--bone)}
.ftt-area-map-action--search:focus-visible{outline-color:var(--muted)}
.ftt-area-resource-meta{color:var(--bone-dim);font-size:.86rem;line-height:1.35;}
@media(max-width:760px) {.ftt-area-hero-top{flex-direction:column;}.ftt-area-hero-photo{margin-left:0;padding-left:0;max-width:100%;flex-basis:auto;}}

.ftt-area-hero-placeholder{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;border-radius:14px;border:1px solid var(--line-2);background:linear-gradient(135deg,#1a160e,#0e0b06);position:relative;overflow:hidden;}
.ftt-area-hero-placeholder::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 6px,transparent 6px 12px);}
.ftt-area-hero-placeholder span{position:relative;font-family:var(--mono,monospace);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sand,#b9ad94);opacity:.6;text-align:center;padding:0 14px;}

.ftt-admin-area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:18px;}
.ftt-admin-area-card{background:var(--panel);border:1px solid var(--line-2);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;}
.ftt-admin-area-thumb{aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#0e0b06;display:flex;align-items:center;justify-content:center;}
.ftt-admin-area-thumb img{width:100%;height:100%;object-fit:cover;}
.ftt-admin-area-thumb span{font-family:var(--mono,monospace);font-size:.72rem;letter-spacing:.06em;color:var(--muted-2,#8a7f6a);}
.ftt-admin-area-card h3{margin:0;font-size:1rem;}
.ftt-admin-area-meta{display:flex;flex-direction:column;gap:8px;margin-top:8px;border-top:1px solid var(--line-2);padding-top:10px;}
.ftt-admin-area-meta label{display:flex;flex-direction:column;gap:3px;font-size:.72rem;color:var(--muted-2,#8a7f6a);}
.ftt-admin-area-amenities{min-height:86px;}
.ftt-admin-area-tree-node{min-width:0;}
.ftt-admin-area-tree-node>summary{list-style:none;}
.ftt-admin-area-tree-node>summary::-webkit-details-marker{display:none;}
.ftt-admin-area-tree-node>summary:before{content:"\25B8";flex:0 0 auto;color:var(--sand);font-size:12px;}
.ftt-admin-area-tree-node[open]>summary:before{content:"\25BE";}
.ftt-admin-area-tree-node>summary span{min-width:0;flex:1;}
.ftt-admin-area-tree-children{display:grid;gap:3px;margin-left:12px;padding-left:8px;border-left:1px solid var(--line-2);}
.ftt-admin-area-back{display:inline-block;margin-bottom:7px;color:var(--sand);font:12px var(--mono);}
.ftt-admin-area-top-save,.ftt-admin-area-bottom-save{display:flex;justify-content:flex-end;}
.ftt-admin-area-top-save .ftt-admin-act,.ftt-admin-area-bottom-save .ftt-admin-act{min-height:44px;min-width:132px;}

.ftt-account-shell{padding-top:48px;padding-bottom:72px;}
.ftt-account-card{display:grid;gap:24px;}
.ftt-account-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;}
.ftt-account-heading h1{margin-bottom:10px;}
.ftt-account-heading p:not(.ftt-kicker){margin:0;color:var(--bone-dim);}
.ftt-account-summary{margin-bottom:0;}
.ftt-account-listings{display:grid;gap:12px;}
.ftt-account-listing-row{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--ink-2);}
.ftt-account-listing-thumb{display:flex;align-items:center;justify-content:center;width:112px;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);border-radius:calc(var(--r) - 2px);background:rgba(237,228,210,.04);color:var(--sand);font-family:var(--mono);font-size:11px;text-decoration:none;}
.ftt-account-listing-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.ftt-account-listing-main{display:grid;gap:9px;min-width:0;}
.ftt-account-listing-titleline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.ftt-account-listing-titleline h2{margin:0;font-family:var(--display);font-size:22px;line-height:1.05;letter-spacing:-.02em;color:var(--bone);}
.ftt-account-listing-titleline h2 a:hover{color:var(--accent-text,var(--accent));}
.ftt-account-listing-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;color:var(--sand);font-family:var(--mono);font-size:11px;letter-spacing:.01em;}
.ftt-account-listing-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:260px;}
.ftt-account-listing-actions form{margin:0;}
.ftt-account-action{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 11px;border:1px solid var(--line-2);border-radius:var(--r);background:transparent;color:var(--bone);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.01em;text-decoration:none;cursor:pointer;}
.ftt-account-action:hover{border-color:var(--accent);color:var(--accent-text,var(--accent));}
.ftt-account-action--button{appearance:none;}
.ftt-account-action--danger{border-color:rgba(196,74,48,.45);color:#E6A593;}
.ftt-account-empty{display:grid;gap:12px;justify-items:start;padding:28px;border:1px dashed var(--line-2);border-radius:var(--r);background:rgba(237,228,210,.03);}
.ftt-account-empty h2{margin:0;font-family:var(--display);font-size:28px;letter-spacing:-.02em;color:var(--bone);}
.ftt-account-empty p{margin:0;color:var(--bone-dim);}
.ftt-status-badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:5px 9px;border:1px solid var(--line-2);border-radius:2px;background:transparent;color:var(--sand);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.01em;}
.ftt-status-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;}
.ftt-status-badge--active{color:var(--sage);background:rgba(132,160,110,.10);border-color:rgba(132,160,110,.4);}
.ftt-status-badge--pending{color:var(--amber);background:rgba(207,165,65,.10);border-color:rgba(207,165,65,.4);}
.ftt-status-badge--sold{color:#F2D49A;background:rgba(184,137,63,.12);border-color:rgba(184,137,63,.45);}
.ftt-status-badge--expired,.ftt-status-badge--hidden{color:var(--muted);background:rgba(237,228,210,.06);border-color:var(--line-2);}
.ftt-status-badge--rejected{color:var(--danger);background:rgba(196,74,48,.10);border-color:rgba(196,74,48,.4);}
@media(max-width:820px) {
  .ftt-account-heading{display:grid;}
  .ftt-account-heading .ftt-btn{width:100%;justify-content:center;}
  .ftt-account-listing-row{grid-template-columns:88px minmax(0,1fr);align-items:start;}
  .ftt-account-listing-thumb{width:88px;}
  .ftt-account-listing-actions{grid-column:1 / -1;justify-content:flex-start;max-width:none;}
}
@media(max-width:520px) {
  .ftt-account-listing-row{grid-template-columns:1fr;}
  .ftt-account-listing-thumb{width:100%;}
  .ftt-account-listing-titleline{display:grid;}
}
.ftt-admin-card.ftt-admin-approval-card{position:relative;display:grid;grid-template-columns:34px minmax(170px,230px) minmax(0,1fr) minmax(190px,240px);gap:16px;align-items:start;padding:14px;background:var(--panel);border-color:var(--line-2);}
@media(max-width:1120px) {
  .ftt-admin-card.ftt-admin-approval-card{grid-template-columns:28px 160px minmax(0,1fr);}
}
@media(max-width:720px) {
  .ftt-admin-card.ftt-admin-approval-card{grid-template-columns:1fr;}
}
.ftt-admin-card.ftt-admin-approval-card{display:block;padding:16px;}
@media(min-width:1000px) {
  .ftt-admin-card.ftt-admin-approval-card{display:grid;grid-template-columns:210px minmax(0,1fr) minmax(220px,260px);gap:18px;align-items:start;}
}

.ftt-required {
  position: relative;
}

.ftt-field.ftt-required,
.ftt-checkbox-field.ftt-required,
.ftt-choice-group.ftt-required > legend,
.ftt-rent-types.ftt-required > legend {
  color: var(--sand, #d4a574);
}

.ftt-field.ftt-required::before,
.ftt-checkbox-field.ftt-required::before,
.ftt-choice-group.ftt-required > legend::after,
.ftt-rent-types.ftt-required > legend::after {
  content: "*";
  color: var(--muted, #8f8778);
  font-weight: 900;
  opacity: .72;
}

.ftt-field.ftt-required::before,
.ftt-checkbox-field.ftt-required::before {
  position: absolute;
  top: 10px;
  right: 12px;
  line-height: 1;
}

.ftt-choice-group.ftt-required > legend::after,
.ftt-rent-types.ftt-required > legend::after {
  margin-left: 5px;
}

.ftt-field.ftt-required > input,
.ftt-field.ftt-required > select,
.ftt-field.ftt-required > textarea {
  padding-right: 44px;
}

.ftt-checkbox-field.ftt-required,
.ftt-consent-field.ftt-required {
  padding-right: 44px;
}

.ftt-choice-group.ftt-required,
.ftt-rent-types.ftt-required {
  padding-right: 34px;
}

.ftt-field-check {
  position: absolute;
  top: 41px;
  right: 12px;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid rgba(63, 185, 110, .4);
  border-radius: 999px;
  background: rgba(63, 185, 110, .16);
  color: var(--green, #3fb96e);
  box-shadow: 0 0 0 1px rgba(63, 185, 110, .1), 0 8px 18px rgba(0, 0, 0, .2);
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  opacity: 0;
  transform: translateY(-50%) scale(.4);
  transform-origin: center;
  transition: opacity 160ms ease, transform 160ms cubic-bezier(.2, .8, .3, 1.4);
  pointer-events: none;
}

.ftt-checkbox-field.ftt-required .ftt-field-check,
.ftt-consent-field.ftt-required .ftt-field-check {
  top: 50%;
}

.ftt-choice-group.ftt-required .ftt-field-check,
.ftt-rent-types.ftt-required .ftt-field-check {
  top: 0;
  right: 0;
  transform: scale(.4);
}

.ftt-required.is-valid .ftt-field-check {
  opacity: 1;
  transform: translateY(-50%) scale(1);
  animation: ftt-field-check-pop 220ms cubic-bezier(.2, .8, .3, 1.4);
}

.ftt-choice-group.ftt-required.is-valid .ftt-field-check,
.ftt-rent-types.ftt-required.is-valid .ftt-field-check {
  transform: scale(1);
}

@keyframes ftt-field-check-pop {
  0% {
    opacity: 0;
    transform: translateY(-50%) scale(.4);
  }
  70% {
    opacity: 1;
    transform: translateY(-50%) scale(1.12);
  }
  100% {
    opacity: 1;
    transform: translateY(-50%) scale(1);
  }
}

@keyframes ftt-fieldset-check-pop {
  0% {
    opacity: 0;
    transform: scale(.4);
  }
  70% {
    opacity: 1;
    transform: scale(1.12);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.ftt-choice-group.ftt-required.is-valid .ftt-field-check,
.ftt-rent-types.ftt-required.is-valid .ftt-field-check {
  animation-name: ftt-fieldset-check-pop;
}

.ftt-required.is-invalid input,
.ftt-required.is-invalid select,
.ftt-required.is-invalid textarea,
.ftt-required.is-invalid .ftt-photo-drop-zone,
.ftt-required.is-invalid.ftt-choice-group,
.ftt-required.is-invalid.ftt-rent-types {
  border-color: #ff8a70 !important;
}

.ftt-inline-field-message {
  display: block;
  margin: 7px 0 0;
  color: #ffb4a6;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.ftt-inline-field-message:empty,
.ftt-inline-field-message[hidden] {
  display: none;
}

.ftt-still-needed {
  display: grid;
  gap: 8px;
  padding: 13px 14px;
  border: 1px solid rgba(255, 138, 112, .28);
  border-radius: var(--r, 10px);
  background: rgba(196, 74, 48, .08);
  color: var(--bone, #f5f1e8);
}

.ftt-still-needed strong {
  color: #ffb4a6;
  font-size: 13px;
  line-height: 1.2;
}

.ftt-still-needed span {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ftt-still-needed em {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 8px;
  border: 1px solid rgba(255, 180, 166, .25);
  border-radius: 999px;
  color: #ffe0d6;
  background: rgba(0, 0, 0, .16);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.ftt-still-needed.is-ready {
  border-color: rgba(134, 239, 172, .3);
  background: rgba(20, 83, 45, .12);
}

.ftt-still-needed.is-ready strong {
  color: #86efac;
}

.ftt-still-needed.is-ready span {
  color: #bbf7d0;
  font-size: 13px;
  font-weight: 800;
}

.ftt-listing-loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  place-items: center;
  padding: 24px;
  background: rgba(8, 7, 5, .88);
  backdrop-filter: blur(8px);
}

.ftt-listing-loading-overlay.is-visible {
  display: grid;
}

.ftt-listing-loading-card {
  width: min(420px, 100%);
  display: grid;
  justify-items: center;
  gap: 14px;
  padding: 30px 24px;
  border: 1px solid var(--line-2, rgba(255, 255, 255, .14));
  border-radius: var(--r, 10px);
  background: var(--panel, #111);
  color: var(--bone, #f5f1e8);
  text-align: center;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .45);
}

.ftt-listing-loading-spinner {
  width: 46px;
  height: 46px;
  border: 4px solid rgba(255, 255, 255, .14);
  border-top-color: var(--accent, #f97316);
  border-radius: 999px;
  animation: ftt-listing-spin .82s linear infinite;
}

.ftt-listing-loading-card strong {
  font-size: 18px;
  line-height: 1.2;
}

.ftt-listing-loading-card p {
  min-height: 22px;
  margin: 0;
  color: var(--bone-dim, #d8cfbd);
  font-size: 15px;
  font-weight: 700;
}

.ftt-listing-submitting {
  cursor: progress;
}

@keyframes ftt-listing-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ftt-field-check,
  .ftt-required.is-valid .ftt-field-check,
  .ftt-listing-loading-spinner {
    transition: none;
    animation: none;
  }
}

.ftt-ranger-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
}

.ftt-ranger-contact__name,
.ftt-ranger-contact__agency,
.ftt-ranger-contact__hours {
  min-width: 0;
  overflow-wrap: anywhere;
}

.ftt-ranger-contact__agency,
.ftt-ranger-contact__hours {
  margin: 0;
}

.ftt-ranger-contact__hours span {
  font-weight: 800;
}

.ftt-ranger-contact__action {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--line-2);
  border-radius: var(--r);
  color: var(--accent-text, var(--accent));
  background: var(--ink-2);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.ftt-ranger-contact__action:hover {
  border-color: var(--sand);
  color: var(--bone);
}

.ftt-ranger-contact__action:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
}

.ftt-ranger-contact__action span {
  min-width: 0;
  font-family: inherit;
  overflow-wrap: anywhere;
}

/* FTT Phase 2 vendor directory and detail presentation */
.ftt-vendors-page .ftt-section-head h1,
.ftt-vendor-profile h1 { margin: 0; color: var(--bone); font-family: var(--display); font-size: clamp(38px, 10vw, 76px); font-weight: 900; letter-spacing: -.035em; line-height: .96; overflow-wrap: anywhere; }
.ftt-vendor-filters { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 0 0 24px; padding: 16px; border: 1px solid var(--line-2); border-radius: var(--r-2); background: var(--panel); }
.ftt-vendor-filters label { display: grid; gap: 7px; min-width: 0; }
.ftt-vendor-filters label span { color: var(--sand); font-family: var(--mono); font-size: 11px; font-weight: 700; }
.ftt-vendor-filters select { width: 100%; min-width: 0; min-height: 44px; padding: 10px 38px 10px 12px; border: 1px solid var(--line-2); border-radius: var(--r); background: var(--ink-2); color: var(--bone); font: inherit; }
.ftt-vendor-logo,
.ftt-vendor-profile__logo { display: grid; place-items: center; width: 100%; min-width: 0; min-height: 112px; padding: 14px; border: 1px solid var(--line-2); border-radius: var(--r); background: rgba(237,228,210,.04); }
.ftt-vendor-logo img,
.ftt-vendor-profile__logo img { max-width: 100%; max-height: 150px; object-fit: contain; }
.ftt-vendor-profile__heading { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px 14px; }
.ftt-vendor-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 16px; }
.ftt-vendor-phone,
.ftt-vendor-website,
.ftt-vendor-details { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-width: 0; min-height: 44px; padding: 10px 13px; border: 1px solid var(--line-2); border-radius: var(--r); color: var(--bone); font-weight: 800; overflow-wrap: anywhere; text-align: center; text-decoration: none; }
.ftt-vendor-phone { border-color: rgba(216,84,42,.52); background: var(--ember-soft); color: var(--bone); }
.ftt-vendor-website { color: var(--steel); }
.ftt-vendor-details { color: var(--sand); }
.ftt-vendor-detail-page { min-height: 62vh; padding: 36px 0 64px; background: var(--ink); }
.ftt-vendor-back { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 14px; color: var(--sand); }
.ftt-vendor-profile { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; min-width: 0; padding: 20px; border: 1px solid var(--line-2); border-radius: var(--r-2); background: var(--panel); }
.ftt-vendor-profile__main { min-width: 0; }
.ftt-vendor-profile__description { max-width: 72ch; margin-top: 18px; color: var(--bone-dim); overflow-wrap: anywhere; }
.ftt-vendor-promo { margin-top: 24px; padding: 16px; border: 1px solid rgba(216,84,42,.36); border-radius: var(--r); background: var(--ember-soft); }
.ftt-vendor-promo h2 { margin: 0; color: var(--bone); font-family: var(--display); font-size: 24px; }
.ftt-vendor-promo p { margin: 8px 0 0; color: var(--bone-dim); overflow-wrap: anywhere; }
.ftt-vendor-areas { margin-top: 18px; padding: 20px; border-top: 1px solid var(--line-2); }
.ftt-vendor-areas h2 { margin: 0; color: var(--bone); font-family: var(--display); font-size: clamp(28px, 7vw, 42px); }
.ftt-vendor-areas ul { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.ftt-vendor-areas li { min-width: 0; }
.ftt-vendor-areas li a { display: flex; align-items: center; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line-2); border-radius: var(--r); color: var(--steel); overflow-wrap: anywhere; text-decoration: none; }
@media (min-width: 700px) {
  .ftt-vendor-filters { grid-template-columns: repeat(2, minmax(0, 1fr)) auto auto; align-items: end; }
  .ftt-vendor-actions { grid-template-columns: repeat(3, minmax(0, max-content)); }
  .ftt-vendor-phone, .ftt-vendor-website, .ftt-vendor-details { width: auto; }
  .ftt-vendor-profile.is-featured { grid-template-columns: minmax(180px, 280px) minmax(0, 1fr); padding: 28px; }
  .ftt-vendor-areas ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Shared riding-area picker details */
.ftt-area-picker__search-label{color:var(--sand);font-size:13px;font-weight:700}.ftt-area-picker__suggestions button:hover,.ftt-area-picker__suggestions button:focus-visible,.ftt-area-picker__tree button:hover,.ftt-area-picker__tree button:focus-visible{background:rgba(207,165,65,.1);outline:none}.ftt-area-picker__suggestions strong{min-width:0;overflow-wrap:anywhere}.ftt-area-picker__groups,.ftt-area-picker__fallback{min-width:0;border:1px solid var(--line-2);border-radius:var(--r);background:rgba(237,228,210,.025)}.ftt-area-picker__tree,.ftt-area-picker__checkboxes{min-width:0;border-top:1px solid var(--line-2)}.ftt-area-picker__country{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:7px 11px;background:var(--ink-2);color:var(--sand);font:800 11px var(--mono)}.ftt-area-picker__tree button.is-region{padding-left:24px;color:var(--bone-dim)}.ftt-area-picker__checkboxes input{flex:0 0 22px;width:22px;height:22px}.ftt-area-picker__checkboxes span{min-width:0;overflow-wrap:anywhere}.ftt-area-list-group{min-width:0;margin:0 0 12px;scroll-margin-top:76px}.ftt-area-list-group__header{position:sticky;z-index:8;top:0;display:flex;align-items:center;justify-content:space-between;min-height:44px;margin:0;padding:8px 12px;border:1px solid var(--line-2);background:var(--ink-2);color:var(--sand);font:800 12px var(--mono)}.ftt-area-list-group__rows{display:grid;gap:1px;background:var(--line-2)}.ftt-area-picker{display:grid;gap:10px;min-width:0}.ftt-area-picker__search{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--ink-2);color:var(--bone);font-size:16px}.ftt-area-picker__chips{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.ftt-area-picker__chip{display:inline-flex;align-items:center;max-width:100%;min-height:44px;border:1px solid rgba(207,165,65,.38);border-radius:999px;background:rgba(207,165,65,.1);overflow:hidden}.ftt-area-picker__chip>span{min-width:0;padding:8px 4px 8px 12px;overflow-wrap:anywhere}.ftt-area-picker__chip button{display:grid;place-items:center;flex:0 0 44px;width:44px;min-height:44px;border:0;background:transparent;color:var(--sand);font-size:23px}.ftt-area-picker__suggestions{display:grid;max-height:264px;border:1px solid var(--line-2);border-radius:var(--r);overflow-y:auto}.ftt-area-picker__suggestions[hidden]{display:none}.ftt-area-picker__suggestions button,.ftt-area-picker__tree button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;min-height:48px;padding:9px 11px;border:0;border-bottom:1px solid var(--line-2);background:transparent;color:var(--bone);text-align:left}.ftt-area-picker__groups>summary,.ftt-area-picker__fallback>summary{display:flex;align-items:center;min-height:44px;padding:9px 11px}.ftt-area-picker__checkboxes{display:grid;gap:3px;padding:8px}.ftt-area-picker.is-enhanced .ftt-area-picker__fallback{display:none}
.ftt-area-picker__tree button:disabled{background:rgba(237,228,210,.035);color:var(--bone-dim);cursor:not-allowed;opacity:.62}.ftt-area-picker__tree button:disabled b::before{content:"\2713\00a0"}

/* Shared vendor cards */
.ftt-vendor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;min-width:0}
.ftt-vendor-card{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-width:0;min-height:0;padding:24px;border:1px solid rgba(237,228,210,.1);border-top:3px solid var(--accent,#f97316);border-radius:var(--r);background:linear-gradient(180deg,rgba(237,228,210,.03),transparent);box-shadow:none;transition:all .2s ease}
.ftt-vendor-card::before{content:none}
.ftt-vendor-card:hover{border-color:rgba(249,115,22,.4);transform:translateY(-2px)}
.ftt-vendor-card__head{display:flex;align-items:center;gap:14px;min-width:0}
.ftt-vendor-card__mark,.ftt-vendor-card__mono,.ftt-vendor-card__mark img{display:grid;place-items:center;box-sizing:border-box;flex:0 0 56px;width:56px;height:56px;border-radius:8px}
.ftt-vendor-card__mark{overflow:hidden;background:rgba(237,228,210,.04)}
.ftt-vendor-card__mark img{display:block;object-fit:cover}
.ftt-vendor-card__mono{background:rgba(249,115,22,.1);color:var(--accent,#f97316);font:700 15px/1 var(--mono,monospace);letter-spacing:.05em}
.ftt-vendor-card__title{display:grid;gap:3px;min-width:0}
.ftt-vendor-card__title h3{margin:0;color:var(--bone,#ede4d2);font-family:var(--sans,"Archivo",sans-serif);font-size:1.25rem;font-weight:800;line-height:1.15;overflow-wrap:anywhere}
.ftt-vendor-card__title h3 a{color:inherit;text-decoration:none}
.ftt-vendor-card__title h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.ftt-vendor-card__title>span{color:var(--muted,var(--bone-dim,#b9ad98));font-size:.875rem;line-height:1.35;overflow-wrap:anywhere}
.ftt-vendor-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:18px}
.ftt-vendor-card__sponsored{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border:1px solid rgba(249,115,22,.6);border-radius:999px;color:var(--accent,#f97316);font:700 11px/1.2 "Martian Mono",var(--mono,monospace);letter-spacing:.04em;text-transform:uppercase}
.ftt-vendor-card__category{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border:1px solid var(--bone,#ede4d2);border-radius:999px;color:var(--bone,#ede4d2);font:700 11px/1.2 var(--mono,monospace);letter-spacing:.04em;text-transform:uppercase}
.ftt-vendor-card__reach{color:var(--bone,#ede4d2);font-size:.8125rem;opacity:.7}
.ftt-vendor-card .ftt-vendor-card__desc{display:-webkit-box;margin:16px 0 0;color:var(--bone-dim,#b9ad98);line-height:1.5;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.ftt-vendor-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:22px}
.ftt-vendor-card__action{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:44px;padding:9px 14px;border:1px solid rgba(237,228,210,.1);border-radius:var(--r);color:var(--bone,#ede4d2);font-weight:800;text-align:center;text-decoration:none}
.ftt-vendor-card__action:hover{border-color:rgba(237,228,210,.32);color:var(--bone,#ede4d2)}
.ftt-vendor-card__action--primary{border-color:var(--accent,#f97316);color:var(--accent,#f97316)}
.ftt-vendor-card__action:focus-visible,.ftt-vendor-card__title a:focus-visible{outline:2px solid var(--accent,#f97316);outline-offset:3px}
.ftt-area-resource-groups.is-flat{grid-template-columns:minmax(0,1fr)}
.ftt-area-vendor-disclosure{width:100%;margin-top:10px;border-top:1px solid var(--line-2)}
.ftt-area-vendor-disclosure>summary{display:flex;align-items:center;min-height:44px;padding:9px 0;color:var(--steel);font-weight:800;cursor:pointer}
.ftt-area-vendor-disclosure[open]>summary{margin-bottom:10px}
@media(max-width:760px) {.ftt-area-resource-groups.is-grouped{grid-template-columns:minmax(0,1fr)}}
@media(max-width:599px){.ftt-vendor-grid{grid-template-columns:minmax(0,1fr)}.ftt-vendor-card{padding:20px}.ftt-vendor-card__mark,.ftt-vendor-card__mono,.ftt-vendor-card__mark img{flex-basis:48px;width:48px;height:48px}.ftt-vendor-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ftt-vendor-card__action--primary{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.ftt-vendor-card{transition:none}.ftt-vendor-card:hover{transform:none}}

/* Vendor reach scopes: mobile-first controls and distinct scope chips */
.ftt-vendor-scope-picker{min-width:0;margin:12px 0;border:1px solid var(--line-2);border-radius:var(--r);background:rgba(237,228,210,.025)}
.ftt-vendor-scope-picker>summary{display:flex;align-items:center;min-height:44px;padding:9px 11px;color:var(--bone);font-weight:800}
.ftt-vendor-scope-picker__groups{display:grid;gap:16px;min-width:0;padding:12px;border-top:1px solid var(--line-2)}
.ftt-vendor-scope-picker__groups section,.ftt-vendor-scope-picker__options{display:grid;gap:6px;min-width:0}
.ftt-vendor-scope-picker__groups h3{margin:0 0 2px;color:var(--sand);font:800 12px var(--mono)}
.ftt-vendor-scope-option{box-sizing:border-box;display:flex;align-items:center;gap:9px;width:100%;min-width:0;min-height:44px;padding:8px 10px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--ink-2)}
.ftt-vendor-scope-option input{flex:0 0 22px;width:22px;height:22px;margin:0}
.ftt-vendor-scope-option span{min-width:0;overflow-wrap:anywhere}
.ftt-area-picker__chip.is-scope{border-color:rgba(92,169,214,.55);background:rgba(92,169,214,.14)}
.ftt-area-picker__chip.is-scope button{color:var(--steel)}
@media(min-width:700px) {.ftt-vendor-scope-picker__options.is-states{grid-template-columns:repeat(2,minmax(0,1fr))}}.ftt-area-picker__chip.is-reach-mismatch{border-style:dashed;border-color:rgba(255,180,112,.62);background:rgba(255,138,70,.1)}.ftt-area-picker__chip>span small{display:block;margin-top:2px;color:var(--bone-dim);font-size:11px;font-weight:700;line-height:1.2}.ftt-area-picker__suggestions button[hidden]{display:none}
/* Riding-area entry points. */
.ftt-area-access{border-color:rgba(207,165,65,.42);background:rgba(207,165,65,.055)}
.ftt-area-permit-banner{display:grid;gap:16px;max-width:100%;min-width:0;padding:16px;border:2px solid var(--line-2);border-radius:var(--r);background:var(--panel);color:var(--bone);box-shadow:inset 0 0 0 1px var(--line-2)}
.ftt-area-permit-banner.is-required{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.ftt-area-permit-banner__heading{display:grid;gap:7px;min-width:0}.ftt-area-permit-banner .ftt-area-label,.ftt-area-permit-banner h2,.ftt-area-permit-banner h3,.ftt-area-permit-banner p,.ftt-area-permit-banner dl,.ftt-area-permit-banner dd,.ftt-area-permit-banner ul{margin:0}.ftt-area-permit-banner h2{width:fit-content;max-width:100%;padding:7px 10px;border-radius:var(--r);background:var(--accent);color:var(--accent-ink);font:900 24px/1.15 var(--mono);letter-spacing:.035em;overflow-wrap:anywhere}.ftt-area-permit-banner__notes{max-width:70ch;font-size:16px;font-weight:800;line-height:1.5;overflow-wrap:anywhere}
.ftt-area-permit-banner__facts,.ftt-area-permit-banner__registration dl{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;min-width:0;border:1px solid var(--line-2);border-radius:var(--r);background:var(--line-2);overflow:hidden}.ftt-area-permit-banner__facts>div,.ftt-area-permit-banner__registration dl>div{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;padding:11px 12px;background:var(--panel)}.ftt-area-permit-banner dt{color:var(--bone);font:800 12px/1.45 var(--mono);text-transform:uppercase}.ftt-area-permit-banner dd{min-width:0;color:var(--bone);font-size:16px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}
.ftt-area-permit-banner__registration,.ftt-area-permit-banner__buy{display:grid;gap:8px;min-width:0}.ftt-area-permit-banner h3{color:var(--bone);font:800 16px/1.4 var(--mono)}.ftt-area-permit-banner__buy ul{display:grid;gap:6px;padding-left:22px}.ftt-area-permit-banner__buy li{padding-left:2px;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.ftt-area-permit-banner a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-size:16px;font-weight:800;overflow-wrap:anywhere}.ftt-area-permit-banner__responsibility{padding-top:12px;border-top:1px solid var(--line-2);font-size:16px;font-weight:800;line-height:1.5;overflow-wrap:anywhere}
.ftt-area-hazards{display:grid;gap:8px;max-width:100%;padding:16px;border:2px solid var(--accent);border-radius:var(--r);background:rgba(227,74,26,.12);box-shadow:inset 0 0 0 1px rgba(227,74,26,.18)}
.ftt-area-hazards .ftt-area-label,.ftt-area-hazards h2{margin:0}.ftt-area-hazards h2{color:var(--bone);font-size:24px}.ftt-area-hazards ul{display:grid;gap:7px;margin:2px 0 0;padding:0;list-style:none}.ftt-area-hazard{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;min-width:0;padding:9px 10px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--ink-2);color:var(--bone)}.ftt-area-hazard__type{display:inline-flex;align-items:center;gap:5px;color:var(--sand);font:800 11px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.ftt-area-hazard__type::before{font-size:16px;line-height:1}.ftt-area-hazard__text{min-width:0;font-size:15px;font-weight:700;line-height:1.45;overflow-wrap:anywhere;white-space:normal}.ftt-area-hazard--terrain,.ftt-area-hazard--weather{border-width:2px;background:var(--panel)}.ftt-area-hazard--terrain .ftt-area-hazard__type{color:var(--accent)}.ftt-area-hazard--terrain .ftt-area-hazard__type::before{content:"▲"}.ftt-area-hazard--weather .ftt-area-hazard__type{color:var(--steel)}.ftt-area-hazard--weather .ftt-area-hazard__type::before{content:"ϟ"}.ftt-area-hazard--closure .ftt-area-hazard__type{color:var(--sand)}.ftt-area-hazard--closure .ftt-area-hazard__type::before{content:"⊘"}.ftt-area-hazard--wildlife .ftt-area-hazard__type{color:var(--bone-dim)}.ftt-area-hazard--wildlife .ftt-area-hazard__type::before{content:"◆"}.ftt-area-hazard--other .ftt-area-hazard__type{color:var(--muted)}.ftt-area-hazard--other .ftt-area-hazard__type::before{content:"●"}@media(max-width:480px){.ftt-area-hazard{grid-template-columns:minmax(0,1fr);gap:3px}.ftt-area-hazard__type{white-space:normal}}
.ftt-area-difficulty{display:flex;flex-wrap:wrap;gap:8px}.ftt-area-difficulty span{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border:1px solid rgba(207,165,65,.48);border-radius:999px;background:rgba(207,165,65,.1);color:var(--sand);font:800 12px var(--mono)}
.ftt-area-directions{display:grid;gap:10px;margin-top:16px;padding-bottom:16px;border-bottom:1px solid var(--line-2)}
.ftt-area-directions h3,.ftt-area-directions p,.ftt-area-directions ul{margin:0}.ftt-area-directions h3{color:var(--sand);font-size:18px}.ftt-area-directions .ftt-area-list{margin-top:2px}
.ftt-area-access-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:18px 0 0;padding:0;list-style:none}
.ftt-area-access-list li{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;padding:14px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--ink-2)}
.ftt-area-access-list li>div{min-width:0}
.ftt-area-access-body{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
.ftt-area-access-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0}
.ftt-area-access-list strong,.ftt-area-access-list p{overflow-wrap:anywhere}
.ftt-area-access-list strong{min-width:0;color:var(--bone);font-size:17px}
.ftt-area-access-list p{margin:4px 0 0;color:var(--bone-dim);font-size:14px;line-height:1.45}
.ftt-area-access-list .ftt-area-access-warning{margin-top:10px;padding:9px 10px;border:1px solid rgba(227,74,26,.55);border-radius:var(--r);background:rgba(227,74,26,.13);color:var(--bone);font-size:15px;font-weight:800;line-height:1.45;white-space:normal}
.ftt-area-access-list .ftt-area-access-directions{margin-top:9px;color:var(--bone-dim);font-size:14px;line-height:1.55;white-space:normal}
.ftt-area-access-type{display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:3px 8px;border:1px solid var(--line-2);border-radius:999px;color:var(--bone-dim);font:800 10px/1.2 var(--mono);overflow-wrap:anywhere}
.ftt-area-access-provenance{display:block;max-width:100%;margin-top:5px;color:var(--muted);font:700 11px/1.4 var(--mono);overflow-wrap:anywhere;white-space:normal}.ftt-area-access-provenance.is-verified{color:#bce5c5;font-weight:800}
.ftt-area-access-list>li>.ftt-area-map-action{width:100%;min-width:0}
.ftt-area-access-map{width:100%;min-width:0}
.ftt-area-access-map:hover{border-color:var(--sand);color:var(--bone)}
.ftt-area-access-actions{display:grid;gap:8px;width:100%;min-width:0}
.ftt-area-access-actions>.ftt-area-access-map{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;border:1px solid var(--line-2);border-radius:var(--r);color:var(--muted);font-weight:800;text-align:center;text-decoration:none;overflow-wrap:anywhere}
.ftt-area-access-actions>.ftt-area-access-map:focus-visible{outline:2px solid var(--muted);outline-offset:3px}
.ftt-area-via-route{display:grid;gap:7px;width:100%;min-width:0}
.ftt-area-via-route__action{border-color:var(--sand);background:var(--sand);color:var(--ink);font-weight:900}
.ftt-area-via-route__action:hover{background:transparent;color:var(--sand)}
.ftt-area-via-route__action:focus-visible{outline:2px solid var(--sand);outline-offset:3px}
.ftt-area-via-route--direct .ftt-area-via-route__action{border-color:var(--steel);background:transparent;color:var(--steel)}
.ftt-area-via-route--direct .ftt-area-via-route__action:hover{background:var(--steel);color:var(--ink)}
.ftt-area-via-route--direct .ftt-area-via-route__action:focus-visible{outline-color:var(--steel)}
.ftt-area-access-list .ftt-area-via-route__reason,.ftt-area-access-list .ftt-area-via-route__caution{max-width:36ch;margin:0;color:var(--muted);font-size:13px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.ftt-area-access-list .ftt-area-via-route__caution{color:var(--bone);font-weight:800}
@media(min-width:560px) {.ftt-area-access-body{grid-template-columns:minmax(0,1fr) auto;align-items:center}.ftt-area-access-list>li>.ftt-area-map-action,.ftt-area-access-map{width:auto;min-width:120px}.ftt-area-access-actions,.ftt-area-via-route{max-width:280px}}

.ftt-permit-notice{max-width:70ch;margin:14px 0 0;padding:10px 12px;border:1px solid var(--line);border-left:3px solid var(--steel);border-radius:var(--r);background:var(--ink-2);color:var(--sand);font-size:14px;line-height:1.5;opacity:1;overflow-wrap:anywhere}
.ftt-permit-agency-call{display:inline-flex;align-items:center;min-height:44px;color:var(--sand);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.ftt-area-facts dd small{display:inline;color:var(--muted);font-size:.78em;font-weight:600;white-space:nowrap}
.ftt-area-facts .ftt-area-fact--unverified{box-shadow:inset 3px 0 0 var(--accent)}
.ftt-area-facts .ftt-area-fact--unverified dd{color:var(--sand);font-style:italic;font-weight:700}
.ftt-area-official-link{display:inline-flex;align-items:center;min-height:44px;color:var(--sand);font-weight:800;overflow-wrap:anywhere;text-underline-offset:3px}

/* Riding-area rules: scan-first groups for a rider checking conditions on a phone. */
.ftt-ride-notes{min-width:0}.ftt-ride-notes>h2{margin-bottom:0}.ftt-ride-notes__status{width:100%;margin-top:20px;padding:15px 16px;border:1px solid var(--line-2);border-left:4px solid var(--amber);border-radius:var(--r-2);background:color-mix(in srgb,var(--amber) 9%,var(--panel))}.ftt-ride-notes__status>p{margin:0;color:var(--amber);font:800 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}.ftt-ride-notes__status ul,.ftt-ride-notes__group ul{display:grid;gap:17px;margin:13px 0 0;padding:0;list-style:none}.ftt-ride-notes__groups{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;width:100%;margin-top:28px}.ftt-ride-notes__groups:empty{display:none}.ftt-ride-notes__group{min-width:0;max-width:72ch}.ftt-ride-notes__group h3{margin:0;color:var(--bone);font:800 19px/1.3 var(--sans)}.ftt-ride-note{display:grid;grid-template-columns:1.75rem minmax(0,1fr);align-items:start;gap:8px;min-width:0;color:var(--bone-dim);font-size:16px;line-height:1.55}.ftt-ride-note__emoji{display:block;width:1.75rem;padding-top:.08em;font-size:18px;line-height:1.35;text-align:center}.ftt-ride-note__copy{min-width:0;overflow-wrap:anywhere}.ftt-ride-note__copy strong{color:var(--accent-text);font-weight:800}.ftt-ride-note__copy strong+span::before{content:" "}.ftt-ride-note__copy>span{color:var(--bone-dim)}.ftt-ride-note__copy a{color:var(--sand);font-weight:800;text-underline-offset:3px}.ftt-ride-notes__footer{display:grid;gap:12px;width:100%;margin-top:30px;padding-top:18px;border-top:1px solid var(--line-2)}.ftt-ride-notes__ethos,.ftt-ride-notes__resources p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.ftt-ride-notes__resources{display:flex;flex-wrap:wrap;gap:8px}.ftt-ride-notes__resources a{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid var(--line-2);border-radius:var(--r);color:var(--sand);font:800 13px/1.25 var(--mono);text-decoration:none;overflow-wrap:anywhere}.ftt-ride-notes__resources a:hover{border-color:var(--sand);color:var(--bone)}.ftt-ride-notes__resources a:focus-visible,.ftt-ride-note__copy a:focus-visible{border-radius:var(--r);outline:2px solid var(--focus-ring);outline-offset:3px}@media(min-width:700px){.ftt-ride-notes__groups{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Admin placeholders must remain visibly distinct from entered values. */
.ftt-admin input::placeholder,.ftt-admin textarea::placeholder{color:var(--bone-dim);font-style:italic;opacity:.68}
.ftt-admin-area-research-summary{display:grid;gap:10px;min-height:0;margin:0 0 16px;padding:14px}.ftt-admin-area-research-summary p{margin:0}.ftt-admin-area-research-summary>div{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.ftt-admin-area-research-summary a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 10px;border:1px solid var(--line-2);border-radius:var(--r);color:var(--bone);text-decoration:none}.ftt-admin-area-research-summary a:hover,.ftt-admin-area-research-summary a:focus-visible{border-color:var(--sand);color:var(--sand)}.ftt-admin-area-research-summary a span{min-width:0;overflow-wrap:anywhere}.ftt-admin-area-research-summary a b{flex:0 0 auto;color:var(--sand);font-family:var(--mono)}@media(min-width:700px){.ftt-admin-area-research-summary>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ftt-listing-area-picker{min-width:0;margin-top:18px;padding:0;border:0}.ftt-listing-area-picker legend{padding:0;color:var(--bone);font-size:18px;font-weight:900}.ftt-listing-area-help{max-width:65ch;margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.45}.ftt-listing-area-selected{display:flex;flex-wrap:wrap;gap:8px;min-width:0;margin-top:12px}.ftt-listing-area-selected:empty{display:none}.ftt-listing-area-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:44px;padding:7px 10px 7px 14px;border:1px solid var(--orange);border-radius:999px;background:rgba(194,87,13,.15);color:var(--bone);font:800 14px/1.2 inherit;text-align:left}.ftt-listing-area-chip span{min-width:0;overflow-wrap:anywhere}.ftt-listing-area-chip b{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border-radius:50%;background:rgba(0,0,0,.2);font-size:20px;line-height:1}.ftt-listing-area-count{min-height:18px;margin:6px 0 0;color:var(--muted);font-size:13px;font-weight:800}.ftt-listing-area-search{position:relative;margin-top:10px}.ftt-listing-area-search label,.ftt-listing-area-defaults strong{display:block;margin-bottom:7px;color:var(--bone-dim);font-size:13px;font-weight:800}.ftt-listing-area-search input{box-sizing:border-box;width:100%;min-height:48px;font-size:16px}.ftt-listing-area-results{position:absolute;z-index:12;top:100%;right:0;left:0;max-height:320px;margin-top:5px;padding:5px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--ink-2);box-shadow:0 12px 28px rgba(0,0,0,.32);overflow-y:auto}.ftt-listing-area-results button,.ftt-listing-area-defaults button{display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:8px 10px;border:0;border-radius:calc(var(--r) - 2px);background:transparent;color:var(--bone);font:inherit;text-align:left;overflow-wrap:anywhere}.ftt-listing-area-results button:hover,.ftt-listing-area-results button:focus-visible,.ftt-listing-area-defaults button:hover,.ftt-listing-area-defaults button:focus-visible{background:rgba(207,165,65,.12);color:var(--sand)}.ftt-listing-area-results button span,.ftt-listing-area-defaults button span{margin-top:2px;color:var(--muted);font-size:12px}.ftt-listing-area-results p{margin:0;padding:12px 10px;color:var(--muted);font-size:14px}.ftt-listing-area-defaults{min-width:0}.ftt-listing-area-near,.ftt-listing-area-quick,.ftt-listing-area-all{min-width:0;margin-top:12px}.ftt-listing-area-near>div,.ftt-listing-area-quick>div,.ftt-listing-area-all section>div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;min-width:0}.ftt-listing-area-limit{margin:12px 0 0;padding:12px 10px;color:var(--muted);font-size:14px}.ftt-listing-area-all summary{display:flex;align-items:center;min-height:44px;color:var(--sand);font-weight:800;cursor:pointer}.ftt-listing-area-all section{min-width:0;margin-top:12px}.ftt-listing-area-links{display:flex;flex-wrap:wrap;gap:6px}.ftt-listing-area-links a{color:var(--orange);font-weight:800}
/* Phase 3 events, feature-gated in PHP. */
.ftt-event-banner{position:sticky;top:calc(var(--ftt-ticker-top,66px) + var(--ftt-ticker-height,0px));z-index:170;display:flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;width:100%;height:44px;padding:0 12px;border-bottom:1px solid var(--line-2);background:var(--ink);color:var(--bone);font:700 13px/1 var(--mono);letter-spacing:.02em;text-decoration:none;overflow:hidden;box-shadow:0 8px 24px -14px rgba(0,0,0,.9);transition:top .22s ease}
.ftt-event-banner>img{flex:0 1 auto;width:auto;max-width:120px;height:30px;border-radius:4px;object-fit:contain}
.ftt-event-banner span{display:inline-block;flex:0 1 auto;box-sizing:border-box;min-width:0;max-width:100%;height:32px;padding:0 16px;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:999px;background:linear-gradient(0deg,var(--accent-soft),var(--accent-soft)),var(--panel);line-height:30px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .18s ease,border-color .18s ease}
.ftt-event-banner span::before{content:"EVENT \25B8  ";color:var(--accent-text,var(--accent));font-weight:800}.ftt-event-banner:hover span,.ftt-event-banner:focus-visible span{border-color:var(--accent);background:linear-gradient(0deg,var(--accent-soft),var(--accent-soft)),linear-gradient(0deg,var(--accent-soft),var(--accent-soft)),var(--panel);color:#fff}@media (max-width:479px){.ftt-event-banner span::before{display:none}}
.ftt-area-event-line{margin:0;padding:8px 0;color:var(--bone-dim);font:12px/1.45 var(--mono)}
.ftt-area-event-line a{color:var(--sand);text-underline-offset:3px}.ftt-area-event-line span{white-space:nowrap}

/* Single-area detail: one consistent section, heading, list, and facts system. */
.ftt-area-layout{display:block;min-width:0}
.ftt-area-section,.ftt-area-permit-banner,.ftt-area-hazards,.ftt-area-callout{box-sizing:border-box;min-width:0;margin:0 0 14px;padding:18px 16px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);box-shadow:none;overflow-wrap:anywhere}
.ftt-area-section::before{content:none}
.ftt-area-hazards{border-top:2px solid var(--accent)}
.ftt-area-permit-banner.is-required{border-color:var(--line-2);box-shadow:none}
.ftt-area-kicker{margin:0 0 6px!important;color:var(--sand)!important;font:700 10px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.ftt-area-section .ftt-area-h2,.ftt-area-permit-banner .ftt-area-h2,.ftt-area-hazards .ftt-area-h2{width:auto;max-width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--bone);font:800 20px/1.2 "Archivo Expanded",var(--display),sans-serif;letter-spacing:-.005em;overflow-wrap:anywhere}
.ftt-area-h3,.ftt-area-section .ftt-area-h3,.ftt-area-permit-banner .ftt-area-h3{margin:0 0 8px;color:var(--bone-dim);font:700 15px/1.35 Archivo,var(--sans),sans-serif;letter-spacing:0;text-transform:none}
.ftt-area-list,.ftt-area-bullets,.ftt-area-permit-banner__buy .ftt-area-list{display:block;margin:10px 0 0;padding:0;list-style:none}
.ftt-area-list li,.ftt-area-bullets li,.ftt-area-permit-banner__buy .ftt-area-list li{position:relative;margin:6px 0;padding:0 0 0 18px;color:var(--bone-dim);font:inherit;line-height:1.5}
.ftt-area-list li::before,.ftt-area-bullets li::before,.ftt-area-permit-banner__buy .ftt-area-list li::before{content:"";position:absolute;left:0;top:.75em;width:8px;height:2px;background:var(--accent)}
.ftt-area-facts,.ftt-area-permit-banner__facts,.ftt-area-permit-banner__registration .ftt-area-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;margin:14px 0 0;border:0;border-radius:0;background:transparent;overflow:visible}
.ftt-area-facts>div,.ftt-area-permit-banner__facts>div,.ftt-area-permit-banner__registration .ftt-area-facts>div{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;padding:10px 0;border:0;border-top:1px solid var(--line);background:transparent;box-shadow:none}
.ftt-area-facts>div:first-child,.ftt-area-permit-banner__facts>div:first-child,.ftt-area-permit-banner__registration .ftt-area-facts>div:first-child{border-top:0}
.ftt-area-facts dt,.ftt-area-permit-banner dt{margin:0;color:var(--sand);font:700 10px/1.35 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.ftt-area-facts dd,.ftt-area-permit-banner dd{min-width:0;margin:0;color:var(--bone);font:600 15px/1.45 Archivo,var(--sans),sans-serif;overflow-wrap:anywhere}
.ftt-area-grid--blocks{grid-template-columns:minmax(0,1fr);gap:14px}
.ftt-area-grid--blocks .ftt-area-section{margin:0}
.ftt-area-access{background:var(--panel);border-color:var(--line-2)}
.ftt-area-directions h3{color:var(--bone-dim);font:700 15px/1.35 Archivo,var(--sans),sans-serif}
.ftt-area-resource-group h3{margin:0 0 8px;color:var(--bone-dim);font:700 15px/1.35 Archivo,var(--sans),sans-serif;letter-spacing:0;text-transform:none}
.ftt-area-hazards ul{display:block;margin-top:10px}
.ftt-area-hazard{margin:6px 0!important;padding:0 0 0 18px!important;border:0!important;border-radius:0!important;background:transparent!important}
.ftt-area-hazard::before{top:.75em!important}
.ftt-area-section a.ftt-btn,.ftt-area-section a.ftt-area-map-action,.ftt-area-section a.ftt-area-access-map,.ftt-area-section a.ftt-ranger-contact__action{min-height:44px}
@media(min-width:760px){.ftt-area-grid--blocks{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ftt-area-hero-top{grid-template-columns:minmax(0,1fr)}
.ftt-area-tagline{max-width:70ch;margin:8px 0 0;color:var(--bone-dim);font-size:16px;line-height:1.45}
.ftt-area-notice{box-sizing:border-box;margin:0 0 14px;padding:14px 16px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);color:var(--bone);font-weight:700;line-height:1.5}
.ftt-area-status ul{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}.ftt-area-status li{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:start;gap:10px;color:var(--bone-dim);line-height:1.45}.ftt-area-status li>span{width:8px;height:8px;margin-top:.42em;border-radius:50%;background:var(--accent)}
.ftt-area-primary-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}.ftt-area-primary-actions:has(.ftt-btn:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.ftt-area-primary-actions .ftt-btn{box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:9px 8px;text-align:center;overflow-wrap:anywhere}.ftt-area-primary-actions .ftt-btn:only-child{grid-column:1/-1}
.ftt-area-jump-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.ftt-area-jump-nav a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:8px 12px;border:1px solid var(--line-2);border-radius:999px;background:var(--panel);color:var(--sand);font:700 16px/1.2 var(--mono);letter-spacing:.04em;text-decoration:none;text-transform:uppercase}.ftt-area-jump-nav a:hover,.ftt-area-jump-nav a:focus-visible{border-color:var(--accent);color:var(--bone)}
#overview,#getting-there,#rules,#permits,#fuel-services,#vendors,#seasonal,#about{scroll-margin-top:170px}.ftt-area-section-anchor{height:0;scroll-margin-top:170px}
.ftt-area-fuel-warning{margin:16px 0;padding:14px 16px;border-left:4px solid var(--orange);background:color-mix(in srgb,var(--orange) 10%,var(--panel));color:var(--bone-dim);line-height:1.5}.ftt-area-fuel-warning strong{display:block;margin-bottom:4px;color:var(--sand);font:800 11px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase}.ftt-area-fuel-warning p{margin:0}
.ftt-area-support-groups{display:grid;gap:16px;margin-top:16px}.ftt-area-support-group>h3{margin:0 0 4px;padding-bottom:7px;border-bottom:1px solid var(--line-2);color:var(--sand);font:800 11px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase}.ftt-area-support-group .ftt-area-resource-list{gap:0}.ftt-area-support-group .ftt-area-resource-row{padding-block:10px!important}.ftt-area-resource-distance{white-space:nowrap}.ftt-area-data-sources{margin-top:18px;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r);background:color-mix(in srgb,var(--panel) 82%,var(--ink));color:var(--muted);font:600 12px/1.5 var(--mono)}.ftt-area-data-sources strong{display:block;margin-bottom:6px;color:var(--sand);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.ftt-area-data-sources p{margin:3px 0!important;color:inherit!important;font:inherit!important}
.ftt-area-support-group .ftt-area-support-entry{box-sizing:border-box;padding:14px 0!important;border-top:0!important}.ftt-area-support-group .ftt-area-support-entry:not(:last-child){border-bottom:1px solid var(--line-2)!important}.ftt-area-support-group .ftt-area-support-entry--advisory{margin:4px 0;padding:13px 14px!important;border-left:4px solid var(--orange)!important;background:color-mix(in srgb,var(--orange) 8%,var(--panel))}.ftt-area-support-group .ftt-area-support-entry--advisory:not(:last-child){border-bottom-color:var(--line-2)!important}
.ftt-area-trip-support .ftt-area-resource-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.ftt-area-support-row{box-sizing:border-box;min-width:0;padding:13px 0;border-bottom:1px solid var(--line-2)}.ftt-area-support-row:last-child{border-bottom:0}.ftt-area-support-row--advisory{margin:4px 0;padding:13px 14px;border:1px solid color-mix(in srgb,var(--orange) 55%,var(--line-2));border-radius:var(--r);background:color-mix(in srgb,var(--orange) 8%,var(--panel))}.ftt-area-support-row__main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.ftt-area-support-row__title{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;color:var(--bone-dim)}.ftt-area-support-row__title strong{color:var(--bone);font-weight:850}.ftt-area-support-row__distance{padding-top:2px;color:var(--sand);font:700 12px/1.35 var(--mono);white-space:nowrap;text-align:right}.ftt-area-support-row__fact,.ftt-area-support-row__description{margin:5px 0 0!important;color:var(--muted)!important;font-size:13px!important;line-height:1.45!important}.ftt-area-support-more{margin-top:4px}.ftt-area-support-more>summary{display:block;min-height:44px;color:var(--muted);font-size:13px;line-height:1.45;cursor:pointer;list-style:none}.ftt-area-support-more>summary::-webkit-details-marker{display:none}.ftt-area-support-more__clamp{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ftt-area-support-more>summary b{display:inline-flex;align-items:center;min-height:32px;margin-top:2px;color:var(--sand);font:800 11px/1 var(--mono);text-transform:uppercase}.ftt-area-support-more[open]>summary{display:none}.ftt-area-support-more>p{margin:4px 0 0!important;color:var(--muted)!important;font-size:13px!important;line-height:1.5!important}.ftt-area-support-row__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px}.ftt-area-support-row__actions a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:92px;min-height:44px;padding:8px 11px;border:1px solid var(--line-2);border-radius:var(--r);color:var(--sand);font-weight:800;text-decoration:none}.ftt-area-support-notes-fold>ul{margin:8px 0 0;padding:0;list-style:none}.ftt-area-support-notes-fold li{margin:5px 0;color:var(--bone-dim);line-height:1.45}.ftt-area-support-notes-fold li.is-indented{padding-left:18px}.ftt-area-fuel-warning p+p{margin-top:7px}
.ftt-area-fold{min-width:0;margin-top:12px}.ftt-area-fold>summary{position:relative;display:flex;align-items:center;box-sizing:border-box;min-height:50px;padding:8px 54px 8px 14px;border:1px solid color-mix(in srgb,var(--bone) 32%,transparent);border-radius:var(--r);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 92%,var(--bone)),var(--panel));color:var(--bone);font:700 11px/1.35 var(--mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;list-style:none}.ftt-area-fold>summary::-webkit-details-marker{display:none}.ftt-area-fold>summary::after{content:'▾';position:absolute;right:10px;top:50%;display:grid;width:30px;height:30px;place-items:center;border:1px solid color-mix(in srgb,var(--bone) 50%,transparent);border-radius:50%;transform:translateY(-50%);font-size:15px}.ftt-area-fold[open]>summary{border-color:var(--accent)}.ftt-area-fold[open]>summary::after{background:var(--accent);color:var(--accent-ink)}.ftt-area-fold>summary+*{margin-top:10px}.ftt-area-fold>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.ftt-area-rule-local{margin-top:16px}.ftt-area-permit-banner>p,.ftt-area-about>p{max-width:72ch}.ftt-area-marketplace>section,.ftt-area-vendor-block{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2)}.ftt-area-vendor-sub{margin:6px 0 14px;color:var(--bone-dim);line-height:1.5}.ftt-area-list-cta{width:100%;min-height:46px;margin-top:16px}
.ftt-area-affiliation-note,.ftt-area-verification-meta{margin:12px 0 8px;color:var(--muted);font:700 11px/1.4 var(--mono)}.ftt-area-resource-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important;padding:12px 0!important;border-top:1px solid var(--line)!important}.ftt-area-resource-row>span{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-width:0}.ftt-area-resource-row .ftt-area-resource-meta{flex-basis:100%}.ftt-area-type-chip{padding:3px 7px;border:1px solid var(--line-2);border-radius:999px;color:var(--sand);font:700 10px/1.2 var(--mono);text-transform:uppercase}.ftt-area-resource-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ftt-area-resource-actions a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:8px 10px;border:1px solid var(--line-2);border-radius:var(--r);color:var(--sand);font-weight:800;text-decoration:none}
.ftt-area-season-rows{display:grid;gap:0}.ftt-area-season-rows>div{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--line)}.ftt-area-season-rows span{color:var(--sand);font:700 11px var(--mono)}.ftt-area-season-rows p{margin:0;color:var(--bone-dim)}.ftt-area-related>div{display:grid;gap:8px;margin-top:14px}.ftt-area-related a{display:grid;gap:3px;min-height:44px;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--r);color:var(--bone);text-decoration:none}.ftt-area-related a span{color:var(--muted);font:11px var(--mono)}
@media(min-width:480px){.ftt-area-facts{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.ftt-area-facts>div:nth-child(2){border-top:0}.ftt-area-primary-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.ftt-area-primary-actions:has(.ftt-btn:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.ftt-area-resource-row{grid-template-columns:minmax(0,1fr) auto!important;align-items:center}.ftt-area-resource-actions{min-width:190px}.ftt-area-resource-name:has(.ftt-area-resource-distance){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px}.ftt-area-resource-distance{text-align:right}}
@media(max-width:479px){.ftt-area-jump-nav a{flex:1 1 auto}.ftt-area-resource-distance{display:inline}}
@media(max-width:479px){.ftt-area-support-row__main{gap:8px}.ftt-area-support-row__title{font-size:14px}.ftt-area-support-row__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ftt-area-support-row__actions a{width:100%;min-width:0}.ftt-area-support-more>summary{align-items:start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(min-width:760px){.ftt-area-hero-top:has(.ftt-area-hero-photo){grid-template-columns:minmax(0,1fr) minmax(280px,.65fr)}.ftt-area-list-cta{width:auto}.ftt-area-related>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ftt-area-access-actions>a.ftt-area-access-map:not(.ftt-area-via-route__action){min-height:44px;border:1px solid var(--line-2);background:transparent;color:var(--bone)}
.ftt-area-access-actions>a.ftt-area-via-route__action{min-height:44px;border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}
.ftt-area-access-actions>a.ftt-area-via-route__action:hover,.ftt-area-access-actions>a.ftt-area-via-route__action:focus-visible{border-color:var(--accent-2);background:var(--accent-2);color:var(--accent-ink)}
.ftt-holiday-banner{height:32px;min-height:32px}.ftt-holiday-banner::before{height:1px}.ftt-holiday-banner .ftt-holiday-banner__inner{box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;height:32px;min-height:32px;gap:8px;padding:0 14px;overflow:hidden}.ftt-holiday-banner .ftt-holiday-banner__inner::before,.ftt-holiday-banner .ftt-holiday-banner__inner::after{display:none}.ftt-holiday-banner__title{flex:0 0 auto;white-space:nowrap}.ftt-holiday-banner__message{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Keep the desktop navigation within the viewport without changing the full layout at 1536px+. */
.ftt-nav { overflow-x: hidden; overflow-x: clip; }
.ftt-nav-search-icon, .ftt-nav-more { display: none; }
.ftt-mobile-social { display: flex; gap: 8px; padding-top: 8px; }
.ftt-mobile-menu .ftt-mobile-social a { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; padding: 0; border: 1px solid var(--line-2); border-radius: var(--r); }

.ftt-area-nearme-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 22px}.ftt-area-nearme-button{min-height:44px;font:700 16px/1.2 var(--mono);text-transform:uppercase}.ftt-area-nearme-radius{display:flex;flex:1 1 280px;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.ftt-area-nearme-radius>span{margin-right:2px;color:var(--muted);font:700 12px/1.4 var(--mono);text-transform:uppercase}.ftt-area-nearme-radius button{min-width:64px;min-height:44px;padding:8px 10px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);color:var(--bone);font:700 16px/1.2 var(--mono);cursor:pointer}.ftt-area-nearme-radius button[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.ftt-area-nearme-status{flex-basis:100%;min-height:1.4em;margin:0;color:var(--muted);font-size:13px}.ftt-area-nearme-results{min-width:0}.ftt-area-nearme-list{display:grid;gap:1px}.ftt-area-nearme-list .ftt-area-index-row{position:relative;padding-right:88px}.ftt-area-nearme-distance{position:absolute;top:12px;right:12px;color:var(--sand);font:700 12px/1.3 var(--mono);white-space:nowrap}.ftt-area-nearme-divider{margin:22px 0 8px;padding-top:14px;border-top:1px solid var(--line-2);color:var(--muted);font:700 12px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase}
@media(max-width:480px){.ftt-area-nearme-radius{flex-basis:100%}.ftt-area-nearme-radius>span{flex-basis:100%}.ftt-area-nearme-radius button{flex:1 1 0}.ftt-area-nearme-list .ftt-area-index-row{padding-right:76px}}

@media (min-width: 900px) and (max-width: 1535px) {
  .ftt-nav-links { gap: 2px; }
  .ftt-nav-links a, .ftt-nav-dropdown > button { padding-inline: 8px; font-family: var(--mono); font-size: 11px; letter-spacing: .02em; }
  .ftt-nav-search input { width: 160px; }
}

@media (min-width: 900px) and (max-width: 1365px) {
  .ftt-nav-secondary-link { display: none; }
  .ftt-nav-more { display: block; }
  .ftt-nav-search-icon { display: block; }
  .ftt-nav-search-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .ftt-nav-search button { display: inline-grid; width: 40px; padding: 0; place-items: center; }
}

@media (min-width: 900px) and (max-width: 1279px) {
  .ftt-nav-social { display: none; }
}

/* UI consistency contract: shared public/admin component kit. */
.ftt-page-head,.ftt-admin-page-head{display:flex;flex-direction:column;align-items:stretch;gap:18px}.ftt-page-h{margin:0;color:var(--bone);font:800 38px/1.05 var(--display);letter-spacing:-.02em}.ftt-page-sub{max-width:72ch;margin:10px 0 0;color:var(--bone-dim);font:400 16px/1.45 var(--sans)}.ftt-page-head__actions{display:grid;gap:10px}.ftt-page-head__actions .ftt-btn{width:100%}
.ftt-area-kicker,.ftt-kicker-sm{margin:0 0 6px!important;color:var(--sand)!important;font:700 10px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase}.ftt-area-h2,.ftt-h2,.ftt-section-head h2{margin:0;color:var(--bone);font:800 20px/1.2 var(--display);letter-spacing:-.005em;text-transform:none}.ftt-area-h3,.ftt-h3{margin:0 0 8px;color:var(--bone-dim);font:700 15px/1.35 var(--sans);letter-spacing:0;text-transform:none}.ftt-section-head,.ftt-admin-section__head{display:flex;align-items:end;justify-content:space-between;gap:18px}
.ftt-btn{min-height:48px;padding:10px 16px;font:700 12px/1.2 var(--mono)}.ftt-admin .ftt-btn{min-height:44px}.ftt-btn-secondary{border:1px solid var(--line-2);background:var(--panel);color:var(--bone);box-shadow:none}.ftt-btn-secondary:hover{border-color:var(--line-strong);background:var(--panel-2);color:var(--bone)}.ftt-btn-destructive{border:1px solid var(--danger);background:var(--panel);color:var(--danger);box-shadow:none}.ftt-btn-destructive:hover{background:var(--danger);color:var(--ink)}.ftt-btn-ghost{background:transparent}
.ftt-area-fold,.ftt-fold,.ftt-admin-fold{min-width:0;margin-top:12px}.ftt-area-fold>summary,.ftt-fold>summary,.ftt-admin-fold>summary{position:relative;display:flex;align-items:center;box-sizing:border-box;min-height:48px;padding:8px 54px 8px 14px;border:1px solid color-mix(in srgb,var(--bone) 32%,transparent);border-radius:var(--r);background:var(--panel);color:var(--bone);font:700 11px/1.35 var(--mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;list-style:none}.ftt-area-fold>summary::-webkit-details-marker,.ftt-fold>summary::-webkit-details-marker,.ftt-admin-fold>summary::-webkit-details-marker{display:none}.ftt-area-fold>summary::after,.ftt-fold>summary::after,.ftt-admin-fold>summary::after{content:'▾';position:absolute;right:10px;top:50%;display:grid;width:30px;height:30px;place-items:center;border:1px solid color-mix(in srgb,var(--bone) 50%,transparent);border-radius:50%;transform:translateY(-50%);transition:transform .18s ease}.ftt-area-fold[open]>summary,.ftt-fold[open]>summary,.ftt-admin-fold[open]>summary{border-color:var(--accent);background:var(--panel-2)}.ftt-area-fold[open]>summary::after,.ftt-fold[open]>summary::after,.ftt-admin-fold[open]>summary::after{transform:translateY(-50%) rotate(180deg)}.ftt-area-fold>summary+*,.ftt-fold>summary+*,.ftt-admin-fold>summary+*{margin-top:10px}
.ftt-breadcrumb{display:flex;flex-wrap:wrap;align-items:center}.ftt-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
.ftt-filter-panel input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.ftt-filter-panel select,.ftt-sort-form select,.ftt-auth-card input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.ftt-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.ftt-field select,.ftt-field textarea,.ftt-contact-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.ftt-contact-page select,.ftt-contact-page textarea,.ftt-sell-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.ftt-sell-page select,.ftt-sell-page textarea,.ftt-account-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.ftt-account-page select,.ftt-account-page textarea{min-height:44px;font-size:16px}.ftt-nav-search input,.ftt-mobile-search input{min-height:40px;font-size:16px}
.ftt-listing-kind-switches{display:flex;flex-wrap:wrap;gap:2px 16px}.ftt-listing-kind-switch{display:inline-flex;align-items:center;min-height:32px;color:var(--sand);font-size:12px;text-decoration:underline;text-underline-offset:3px}
.ftt-browse-kind-link{margin:12px 0 0;color:var(--muted);font-size:13px}.ftt-browse-kind-link a{display:inline-flex;align-items:center;min-height:44px;color:var(--sand);font-weight:800;text-underline-offset:3px}.ftt-browse-kind-link a span{margin-left:4px}
.ftt-browse-kind-link--end{text-align:right}
.ftt-pagination a,.ftt-pagination button,.ftt-seg,.ftt-seg a,.ftt-seg button,.ftt-filter-chip{min-height:44px}.ftt-clear-link,.ftt-browse-category-head>a,.ftt-section-head>a,.ftt-section-head .ftt-results-actions a,.ftt-card-title a{display:inline-flex;align-items:center;min-height:44px}.ftt-empty,.ftt-empty-state{display:grid;gap:14px}.ftt-empty>p,.ftt-empty-state>p{margin:0}
.ftt-table--stack{width:100%;border-collapse:collapse}
@media(max-width:759px){.ftt-table--stack,.ftt-table--stack thead,.ftt-table--stack tbody,.ftt-table--stack tr,.ftt-table--stack th,.ftt-table--stack td{display:block;width:100%}.ftt-table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.ftt-table--stack tr{padding:12px 0;border-bottom:1px solid var(--line-2)}.ftt-table--stack td{display:grid;grid-template-columns:minmax(8rem,40%) minmax(0,1fr);gap:12px;padding:7px 0}.ftt-table--stack td::before{content:attr(data-label);color:var(--sand);font:700 10px/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase}}
@media(min-width:760px){.ftt-page-head,.ftt-admin-page-head{flex-direction:row;align-items:flex-end;justify-content:space-between}.ftt-page-h{font-size:52px;line-height:1}.ftt-page-head__actions{display:flex;justify-content:flex-end}.ftt-page-head__actions .ftt-btn{width:auto}}

/* Homepage hero columns and riding resources panel. */
.ftt-hero-columns {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(16rem, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.ftt-hero-column-primary {
  min-width: 0;
}
.ftt-hero-panel-resources {
  align-self: center;
  min-height: 0;
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid var(--line-2);
  border-radius: var(--r);
  background-color: var(--panel);
  background-image:
    linear-gradient(135deg, color-mix(in srgb, var(--carbon-weave) 32%, transparent) 25%, transparent 25%),
    linear-gradient(225deg, color-mix(in srgb, var(--carbon-weave) 32%, transparent) 25%, transparent 25%),
    linear-gradient(315deg, color-mix(in srgb, var(--carbon-weave) 32%, transparent) 25%, transparent 25%),
    linear-gradient(45deg, color-mix(in srgb, var(--carbon-weave) 32%, transparent) 25%, transparent 25%);
  background-position: -3px 0, -3px 0, 0 0, 0 0;
  background-size: 6px 6px;
  box-shadow: var(--shadow-sm);
}
.ftt-spectrum-hero .ftt-hero-panel-resources .ftt-hero-panel-resources__kicker {
  margin: 0 0 0.75rem;
  color: var(--accent-text, var(--accent));
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .01em;
}
.ftt-hero-panel-resources h2 {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin: 0 0 1rem;
  color: var(--bone);
  font-family: var(--display);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.025em;
}
.ftt-hero-panel-resources__icon {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  background: var(--accent);
  -webkit-mask: url('/assets/icons/ftt-terrain.svg') center / contain no-repeat;
  mask: url('/assets/icons/ftt-terrain.svg') center / contain no-repeat;
}
.ftt-spectrum-hero .ftt-hero-panel-resources p {
  margin: 0 0 1.5rem;
  color: var(--bone-dim);
  font-size: 1rem;
  line-height: 1.55;
}
.ftt-hero-panel-resources .ftt-btn {
  min-height: 44px;
  font-size: 16px;
}
@media (min-width: 769px) {
  .ftt-hero-panel-resources {
    margin-top: 0; /* true vertical center via .ftt-hero-columns align-items */
  }
}
@media (max-width: 768px) {
  .ftt-hero-columns {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
  .ftt-hero-panel-resources {
    width: 100%;
    box-sizing: border-box;
    margin-top: 0;
  }
}

/* Brand kicker on the homepage hero — larger than the standard kicker (Scott 9/1) */
.ftt-kicker--brand {
  display: block;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
  font-size: clamp(17px, 1.8vw, 23px);
  letter-spacing: .08em;
  text-align: center;
}

/* Jump-nav chip hover/focus states (Scott 9/1) */
.ftt-area-jump-nav a:hover,
.ftt-area-jump-nav a:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
  transition: border-color .15s ease, color .15s ease;
}

/* Riding-area accessibility: scoped focus, contrast, and disclosure behavior. */
.ftt-area-jump-nav a:focus-visible,
.ftt-area-primary-actions a:focus-visible,
.ftt-area-nearme-tools button:focus-visible,
.ftt-area-support-more>summary:focus-visible,
.ftt-area-support-row__actions a:focus-visible,
.ftt-area-section:focus-visible,
.ftt-area-section-anchor:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
.ftt-area-jump-nav a { color: var(--bone); }
.ftt-area-jump-nav a:hover { border-color: var(--accent); background: var(--panel-2); color: var(--bone); }
.ftt-area-statboard>div>span,
.ftt-area-nearme-radius>span,
.ftt-area-nearme-divider { color: var(--bone-dim); }
.ftt-area-nearme-distance,
.ftt-area-support-row__distance { color: var(--bone); }
.ftt-area-support-row__main {
  grid-template-areas: "title distance" "fact distance";
}
.ftt-area-support-row__title { grid-area: title; }
.ftt-area-support-row__fact { grid-area: fact; }
.ftt-area-support-row__distance { grid-area: distance; }
.ftt-area-support-more[open]>summary { display: block; }
.ftt-area-support-more[open]>summary .ftt-area-support-more__clamp { display: none; }
.ftt-area-support-more[open]>summary b::before { content: "Less"; }
.ftt-area-support-more[open]>summary b { font-size: 0; }
.ftt-area-support-more[open]>summary b::before { font-size: 11px; }
@media(max-width:479px) {
  .ftt-area-support-row__main { grid-template-areas: "title distance" "fact fact"; }
}
@media(prefers-reduced-motion:reduce) {
  .ftt-area-jump-nav a,
  .ftt-area-fold>summary::after { transition: none; }
}

/* Water destinations Phase 3 mockup: scoped homepage panel and sample destination chrome. */
.ftt-water-hero-columns .ftt-hero-column-primary { grid-row: 1 / span 2; }
.ftt-water-hero-panel { grid-column: 2; }
@media (min-width: 769px) {
  .ftt-water-hero-columns {
    align-items: normal;
    row-gap: 0.875rem;
  }
  .ftt-water-hero-columns .ftt-hero-panel-resources {
    padding: clamp(1.125rem, 2.25vw, 1.6875rem);
  }
  .ftt-water-hero-columns .ftt-hero-panel-resources h2 {
    margin-bottom: 0.75rem;
    font-size: clamp(1.5rem, 2.25vw, 1.875rem);
  }
  .ftt-spectrum-hero .ftt-water-hero-columns .ftt-hero-panel-resources > p:not(.ftt-hero-panel-resources__kicker) {
    margin-bottom: 1rem;
    font-size: 0.9375rem;
    line-height: 1.4;
  }
  .ftt-water-hero-columns .ftt-hero-panel-resources .ftt-btn {
    min-height: 40px;
    font-size: 15px;
  }
}
.ftt-water-hero-panel__icon {
  display: block;
  width: 28px;
  height: 28px;
  flex-basis: 28px;
  color: var(--accent);
  background: none;
  -webkit-mask-image: none;
  mask-image: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ftt-water-page { min-width: 0; overflow-x: clip; }
.ftt-water-page__head { max-width: 72ch; margin-bottom: 24px; }
.ftt-water-page__head h1 { margin: 0; color: var(--bone); font: 800 clamp(38px, 7vw, 64px)/1 var(--display); letter-spacing: -.025em; }
.ftt-water-page__head>p:last-child { margin: 14px 0 0; color: var(--bone-dim); font-size: 16px; line-height: 1.55; }
.ftt-water-statboard { margin: 0 0 24px; }
.ftt-water-destination-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; min-width: 0; }
.ftt-water-destination-card { min-width: 0; padding: 18px; border: 1px solid var(--line-2); border-radius: var(--r); background-color: var(--panel); background-image: linear-gradient(135deg, color-mix(in srgb, var(--carbon-weave) 24%, transparent) 25%, transparent 25%); background-size: 6px 6px; box-shadow: var(--shadow-sm); }
.ftt-water-destination-card__topline { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.ftt-water-sample-badge { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 8px; border: 1px solid var(--accent); border-radius: 999px; background: color-mix(in srgb, var(--accent) 12%, var(--panel)); color: var(--accent-text, var(--accent)); font: 800 10px/1 var(--mono); letter-spacing: .08em; }
.ftt-water-destination-card__region { color: var(--sand); font: 700 11px/1.35 var(--mono); text-align: right; overflow-wrap: anywhere; }
.ftt-water-destination-card h2 { margin: 18px 0 14px; color: var(--bone); font: 800 clamp(22px, 5vw, 30px)/1.1 var(--display); letter-spacing: -.015em; overflow-wrap: anywhere; }
.ftt-water-destination-card__intel { display: grid; gap: 9px; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--line-2); list-style: none; }
.ftt-water-destination-card__intel li { position: relative; margin: 0; padding-left: 18px; color: var(--bone-dim); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.ftt-water-destination-card__intel li::before { content: ''; position: absolute; top: .58em; left: 0; width: 7px; height: 7px; border: 1px solid var(--accent); border-radius: 50%; }
.ftt-water-preview-note { margin-top: 24px; padding: 20px; border: 1px solid var(--line-2); border-radius: var(--r); background: var(--panel-2); }
.ftt-water-preview-note p:last-child { max-width: 65ch; margin: 10px 0 0; color: var(--bone-dim); line-height: 1.55; }
@media (min-width: 680px) {
  .ftt-water-destination-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ftt-water-destination-card:last-child { grid-column: 1 / -1; }
}
@media (min-width: 1040px) {
  .ftt-water-destination-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ftt-water-destination-card:last-child { grid-column: auto; }
}
@media (max-width: 768px) {
  .ftt-water-hero-columns .ftt-hero-column-primary { grid-row: auto; }
  .ftt-water-hero-panel { grid-column: auto; }
}

/* Event show special teaser. */
.ftt-event-special { display: grid; gap: 6px 16px; margin: 18px -20px -20px; padding: 14px 20px 15px; border: 0; border-top: 1px solid var(--line-2); background: var(--panel-2); }
.ftt-event-special__kicker { margin: 0; color: var(--accent); font: 700 10.5px/1.35 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.ftt-event-special__headline { margin: 0; color: var(--bone); font: 800 16px/1.2 var(--display); }
.ftt-event-special__text { margin: 3px 0 0; color: var(--bone-dim); font-size: 14px; line-height: 1.45; }
@media (min-width: 900px) { .ftt-event-special { grid-column: 1 / -1; grid-template-columns: 1fr; padding-left: calc(20px + 180px + 20px); align-items: baseline; } }
