/* Luxury homepage tip-OFF refine-20261028 — scoped to #/ (body.lux-home / main.fv1-home).
   Palette from Founder reference: --bg #090d12, --gold #c5a36c.
   Refine A–E only; does not rebuild mobile chrome or restyle host/admin/search. */
body.lux-home {
  --lux-bg: #090d12;
  --lux-panel: #111821;
  --lux-muted: #a6abb2;
  --lux-gold: #c5a36c;
  --lux-ink: #f8f4ed;
  --lux-border: #323238;
}
body.lux-home main.fv1-home {
  background: var(--lux-bg);
  color: var(--lux-ink);
}
body.lux-home main.fv1-home a { color: var(--lux-gold); }
body.lux-home main.fv1-home a:hover { filter: brightness(1.12); }

.lux-wrap { max-width: 1320px; margin: 0 auto; padding: 0 28px; }
.lux-eyebrow {
  font-size: 11px; font-weight: 700; letter-spacing: 3px;
  color: var(--lux-gold, #c5a36c); text-transform: uppercase; margin: 0 0 10px;
}
/* B) Hero — local gen luxury VR villa (ASSET-PROVENANCE-fv11); keep headline */
.lux-hero {
  min-height: 560px; display: flex; align-items: center; position: relative;
  background:
    linear-gradient(90deg, #080b10f2 4%, #0b111dcc 48%, #0b111d55 78%, #0b111d22),
    url(/img/gen/hero-1280.webp) center/cover no-repeat,
    url(/img/gen/hero-1024.jpg) center/cover no-repeat,
    #090d12;
  border-bottom: 1px solid #353334;
}
.lux-hero-inner { padding: 76px 28px 92px; width: 100%; max-width: 1320px; margin: 0 auto; }
.lux-hero h1 {
  font-family: Georgia, "Iowan Old Style", Palatino, serif;
  font-weight: 400; font-size: clamp(44px, 6vw, 88px); line-height: 1.12;
  max-width: 780px; margin: 0 0 14px; color: #f8f4ed;
  text-shadow: 0 2px 24px #0008;
}
.lux-hero .lux-lede {
  font-size: 18px; line-height: 1.55; max-width: 570px; color: #ebe6de; margin: 0 0 8px;
  text-shadow: 0 1px 12px #0006;
}

.lux-search {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr auto; gap: 0;
  background: #fcfaf6; color: #171a20; border-radius: 10px; overflow: hidden;
  box-shadow: 0 20px 60px #0008; max-width: 1180px; margin-top: 42px;
}
.lux-search .lux-field {
  padding: 15px 16px; border-right: 1px solid #d8d5cf;
}
.lux-search .lux-field label {
  display: block; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.2px; color: #3a3f48; margin: 0;
}
.lux-search .lux-field input {
  display: block; width: 100%; background: none; border: 0; margin-top: 5px;
  color: #23262b; outline-offset: 3px; min-height: 28px; padding: 0; border-radius: 0;
  font-size: 15px;
}
.lux-search button[type=submit] {
  border: 0; background: #c5a36c; padding: 20px 22px; color: #141414;
  font-weight: 700; border-radius: 0; white-space: nowrap; font-size: 15px;
}
.lux-search button[type=submit]:hover { filter: brightness(1.08); background: #c5a36c; }

.lux-sec { padding: 75px 0; }
.lux-sec.alt { background: #0d121a; }
.lux-sechead {
  display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 28px;
}
.lux-sechead h2 {
  font-family: Georgia, "Iowan Old Style", Palatino, serif;
  font-weight: 400; font-size: clamp(30px, 3.3vw, 48px); margin: 0; color: #f8f4ed;
}
.lux-sechead .lux-muted, .lux-muted {
  color: #b4b8bf; margin: 10px 0 0; font-size: 15px; line-height: 1.5; max-width: 52ch;
}
.lux-link { color: #c5a36c; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.lux-link:hover { text-decoration: underline; }

.lux-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.lux-grid.dest { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lux-card {
  overflow: hidden; background: #111821; border: 1px solid #323238; border-radius: 11px;
  display: flex; flex-direction: column; color: inherit; text-decoration: none;
}
a.lux-card:hover { border-color: #c5a36c; }
/* A) Consistent photo wrappers — aspect-ratio + object-fit */
.lux-photo {
  aspect-ratio: 4 / 3;
  width: 100%;
  height: auto;
  display: flex; align-items: end; padding: 12px;
  background: linear-gradient(145deg, #344b51, #737051 55%, #202b39);
  color: #e8e1d4; font-size: 11px; letter-spacing: .08em; font-weight: 700;
  position: relative; overflow: hidden;
}
.lux-photo.v2 { background: linear-gradient(135deg, #182c3d, #7b9993, #b5a47e); }
.lux-photo.v3 { background: linear-gradient(135deg, #24364b, #8b6c53, #3e5e5e); }
.lux-photo.v4 { background: linear-gradient(135deg, #172e2e, #577879, #c2a47a); }
.lux-photo.v5 { background: linear-gradient(135deg, #1a2438, #5a6e7a, #a89070); }
.lux-photo.v6 { background: linear-gradient(135deg, #201820, #6a5a4a, #c5a36c); }
.lux-photo img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center; border: 0; display: block;
}
.lux-photo .lux-ph-label {
  position: relative; z-index: 1; text-shadow: 0 1px 8px #000a;
  background: rgba(9, 13, 18, .55); padding: 5px 9px; border-radius: 4px;
  letter-spacing: .1em;
}
.lux-card-body { padding: 17px; flex: 1; }
.lux-card-body h3 {
  font-family: Georgia, "Iowan Old Style", Palatino, serif;
  font-weight: 400; font-size: 22px; margin: 0; color: #f8f4ed; line-height: 1.25;
}
.lux-card-body h3 a { color: inherit; text-decoration: none; }
.lux-card-body h3 a:hover { color: #c5a36c; }
.lux-card-body p { font-size: 13px; color: #b4b8bf; margin: 8px 0; line-height: 1.45; }
.lux-price { color: #c5a36c; font-weight: 700; font-size: 15px; }
.lux-pill {
  display: inline-block; border: 1px solid #c5a36c; color: #c5a36c;
  font-size: 10px; border-radius: 99px; padding: 4px 8px; margin-top: 6px;
}
.destination .lux-photo { aspect-ratio: 16 / 10; }
.destination .lux-card-body { padding: 14px 16px; }
.service .lux-photo { aspect-ratio: 4 / 3; }

.lux-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.lux-promo {
  padding: 45px 34px;
  background: linear-gradient(135deg, #1a2028, #0c1118);
  border: 1px solid #383632; border-radius: 12px;
}
.lux-promo h2 {
  font-family: Georgia, "Iowan Old Style", Palatino, serif;
  font-weight: 400; font-size: 34px; margin: 0; color: #f8f4ed; line-height: 1.15;
}
.lux-promo p { color: #c9c5bc; margin: 14px 0 22px; font-size: 15px; line-height: 1.5; }
.lux-btn {
  display: inline-block; padding: 13px 20px; border-radius: 5px;
  border: 1px solid #c5a36c; background: transparent; color: #c5a36c;
  font-weight: 700; text-decoration: none; white-space: nowrap; font-size: 14px;
}
.lux-btn.primary { background: #c5a36c; color: #171410; }
.lux-btn.primary:hover { filter: brightness(1.08); color: #171410; }
.lux-btn:hover { filter: brightness(1.12); }

.lux-note {
  font-size: 12px; color: #96969b; margin: 8px 0 0;
}
.lux-note code { font-size: 11px; color: #c9c5bc; }

/* Footer columns when lux foot is active (marketplace chrome) */
.foot.lux-foot {
  background: #10151c; border-top: 1px solid #37302a; color: #c9c5bc;
  padding: 55px 28px 25px; max-width: none;
}
.foot.lux-foot .lux-foot-grid {
  display: grid; grid-template-columns: 2fr repeat(4, 1fr); gap: 32px;
  max-width: 1320px; margin: 0 auto;
}
.foot.lux-foot .lux-foot-brand {
  font-family: Georgia, Palatino, serif; font-size: 23px; letter-spacing: 3px; color: #f8f4ed;
}
.foot.lux-foot .lux-foot-brand span { color: #c5a36c; }
.foot.lux-foot h4 {
  color: #c5a36c; font-size: 13px; text-transform: uppercase; margin: 0 0 8px; letter-spacing: .06em;
}
.foot.lux-foot .lux-foot-grid a {
  display: block; color: #c9c5bc; font-size: 13px; margin: 10px 0; text-decoration: none;
}
.foot.lux-foot .lux-foot-grid a:hover { color: #c5a36c; }
.foot.lux-foot .lux-fine {
  font-size: 11px; color: #96969b; border-top: 1px solid #35363a;
  margin: 30px auto 0; padding-top: 15px; max-width: 1320px; line-height: 1.45;
}
.foot.lux-foot .eco, .foot.lux-foot > p:not(.lux-fine) { display: none; }
.foot.lux-foot .foot-links { display: none; }

/* D/E) Sign In + Create Account — black-gold match; preserve far-right Sign In */
#nav #signin.navbtn {
  border: 1px solid #c5a36c; color: #c5a36c; background: transparent;
  min-height: 38px; font-weight: 700; border-radius: 5px; padding: 8px 16px;
}
#nav #signin.navbtn:hover { filter: brightness(1.12); background: rgba(197, 163, 108, .12); color: #d4b57e; }
#nav #createacct.navbtn {
  background: #c5a36c; color: #171410; border: 1px solid #c5a36c; min-height: 38px; font-weight: 700;
  border-radius: 5px; padding: 8px 16px;
}
#nav #createacct.navbtn:hover { filter: brightness(1.08); background: #d4b57e; color: #171410; }
@media (min-width: 1181px) {
  header.top #nav #signin.navbtn { margin-left: auto; }
}

/* E) Sign-in form — luxury black-gold when rendered from lux home chrome */
body.lux-home .rq-login-shell {
  background: transparent; min-height: 60vh; padding: 48px 16px 64px;
}
body.lux-home .rq-login {
  max-width: 440px; margin: 0 auto; padding: 32px 30px 28px;
  background: #111821; border: 1px solid #383632; border-radius: 12px;
  box-shadow: 0 24px 60px #000a; color: #f8f4ed;
}
body.lux-home .rq-login h1 {
  font-family: Georgia, Palatino, serif; font-weight: 400; font-size: 1.65rem;
  color: #f8f4ed; margin: 0 0 8px;
}
body.lux-home .rq-login .rq-lead { color: #b4b8bf; }
body.lux-home .rq-login label { color: #c5a36c; }
body.lux-home .rq-login input {
  background: #0a0e14; border: 1px solid #323238; color: #f8f4ed; border-radius: 8px;
}
body.lux-home .rq-login input:focus { outline: 2px solid #c5a36c; outline-offset: 1px; }
body.lux-home .rq-login .rq-submit {
  background: #c5a36c; color: #171410; border-radius: 5px; font-weight: 700;
}
body.lux-home .rq-login .rq-submit:hover { background: #d4b57e; }
body.lux-home .rq-login .rq-submit:disabled { background: #5a5348; color: #c9c5bc; }
body.lux-home .rq-login .rq-chip {
  background: #1a2028; border: 1px solid #383632; color: #e7e3dd;
}
body.lux-home .rq-login .rq-chip:hover,
body.lux-home .rq-login .rq-chip[aria-pressed=true] {
  background: #c5a36c; color: #171410; border-color: #c5a36c;
}
body.lux-home .rq-login .rq-fine { color: #96969b; }
body.lux-home .rq-login .rq-err {
  background: #2a1515; border-color: #7f1d1d; color: #fca5a5;
}

/* Preserve existing responsive IA — polish only, no mobile rebuild */
@media (max-width: 1050px) {
  .lux-grid, .lux-grid.dest { grid-template-columns: repeat(2, 1fr); }
  .lux-search { grid-template-columns: repeat(2, 1fr); }
  .lux-search button[type=submit] { grid-column: span 2; }
  .foot.lux-foot .lux-foot-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .lux-wrap { padding: 0 17px; }
  .lux-hero { min-height: auto; }
  .lux-hero-inner { padding: 65px 17px; }
  .lux-search { display: block; }
  .lux-search .lux-field { border: 0; border-bottom: 1px solid #ddd; }
  .lux-search button[type=submit] { width: 100%; }
  .lux-grid, .lux-grid.dest, .lux-duo { grid-template-columns: 1fr; }
  .lux-sec { padding: 50px 0; }
  .lux-sechead { align-items: start; flex-direction: column; }
  .foot.lux-foot .lux-foot-grid { grid-template-columns: repeat(2, 1fr); }
}

/* fe-touch-p1 Mobile High=1 — phone auth chrome ≥44 (2026-10-28) */
@media (max-width: 767px) {
  #nav #signin.navbtn,
  #nav #createacct.navbtn {
    min-height: 44px;
    min-width: 44px;
    padding: 10px 16px;
    box-sizing: border-box;
  }
}


/* site-logo-replace-20261028 — desktop horizontal mark (tip OFF)
   Mobile mark DEFERRED (Founder will send separate file). Mobile MQ keeps prior header assets + sizing. */
a.brand.brand--logo {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 0;
  line-height: 0;
  text-decoration: none;
  color: transparent;
  font-size: 0;
  letter-spacing: 0;
  flex-shrink: 0;
}
a.brand.brand--logo picture { display: block; line-height: 0; }
a.brand.brand--logo .brand-logo,
.brand-logo {
  display: block;
  /* Desktop: size from artwork aspect (~3.02), not canvas */
  height: 44px;
  width: auto;
  max-width: min(280px, 42vw);
  object-fit: contain;
  object-position: left center;
}
a.lux-foot-brand.lux-foot-brand--logo {
  display: inline-block;
  line-height: 0;
  text-decoration: none;
  color: transparent;
}
.brand-logo--foot {
  display: block;
  height: 56px;
  width: auto;
  max-width: min(320px, 70vw);
  object-fit: contain;
  object-position: left center;
}
@media (max-width: 767px) {
  /* MOBILE UNCHANGED — prior header asset via <picture media> + prior sizing. No provisional crop. */
  a.brand.brand--logo .brand-logo,
  .brand-logo {
    height: 30px;
    max-width: min(160px, 46vw);
  }
  .brand-logo--foot {
    height: 40px;
    max-width: min(220px, 70vw);
  }
}
