/* Luxury Guest Frontend v1.0 design system (ADR-002 reference: design/reference/luxury-homepage-selected-20261023.png).
   Black, deep navy, champagne gold, white. Editorial serif headings (local system serif stack, no web fonts), sans body.
   Imagery: original procedural SVG only (public/art/*, server-generated /img/*). No reference or third-party photos. */
:root{--k:#0a0d14;--navy:#14213d;--navy2:#1f3357;--gold:#c9a66b;--gold-d:#7d5f2c;--paper:#ffffff;--mist:#f6f3ee;--line:#e4ded3;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif}
body{background:var(--paper);color:#151a24}
h1,h2,h3,.brand{font-family:var(--serif)}h1,h2{letter-spacing:.005em;font-weight:600}
a{color:#1d3a6e}:focus-visible{outline:3px solid #c27a12;outline-offset:2px}
.proto-banner{background:var(--k);color:#e9d8b4;border-bottom:1px solid #2a2f3a}
/* header */
.top{background:var(--k);border-bottom:1px solid #222838;color:#fff;gap:14px;padding:12px 28px}
.top .brand{color:#fff;font-size:1.3rem;letter-spacing:.08em}.top .brand span{color:var(--gold);letter-spacing:.3em;font-size:.72rem;text-transform:uppercase;font-family:system-ui,sans-serif}.top .mark{color:var(--gold)}
#nav{align-items:center;gap:2px}#nav a{color:#eef0f4;font-size:.92rem;padding:8px 10px}#nav a:hover{color:var(--gold)}
#nav a[aria-current=page]{background:transparent;color:var(--gold);box-shadow:inset 0 -2px 0 var(--gold);border-radius:0}
#nav .navbtn{margin-left:6px}#nav #signin{background:transparent;color:#fff;border:1px solid #5a6478;min-height:38px}#nav #signin:hover{border-color:var(--gold);color:var(--gold)}
.btn.gold,#nav a.btn.gold{background:var(--gold);color:var(--k);font-weight:700;border-radius:6px;padding:9px 16px}.btn.gold:hover{background:#d8b985}
.top .role{color:#c9ced8;font-size:.78rem}.top .role select{background:#141a26;color:#fff;border-color:#4a5468;padding:6px 8px;max-width:230px}
.top .navtoggle{background:transparent;color:#fff;border:1px solid #6b7488;min-height:44px;min-width:64px}
.top .toast{background:#1d2433;border:1px solid var(--gold)}
@media (max-width:1180px){.top .navtoggle{display:inline-block;margin-left:auto}#nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch}#nav.open{display:flex}#nav a,#nav .navbtn{padding:12px 10px;margin:0;min-height:44px;font-size:1rem}#nav a.btn.gold{text-align:center;margin-top:6px}.top .role{flex-basis:100%}}
/* buttons */
button,.btn{background:var(--navy);border-radius:6px}button:hover{background:#0f1a31}button.ghost{color:var(--navy);border-color:var(--navy)}
/* layout */
main.fv1-home{max-width:none;padding:0}
.wrap{max-width:1240px;margin:0 auto;padding:28px 24px}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.74rem;font-weight:700;color:var(--gold);margin:0 0 8px}.eyebrow.dark{color:var(--gold-d)}
.pageh{font-size:clamp(1.7rem,3.2vw,2.5rem);margin:0 0 10px}
/* hero: original SVG art + navy/v0.3 warm-stop tint for text contrast */
.hero.lux{border-radius:0;border-bottom:3px solid var(--gold);padding:0;min-height:560px;display:flex;align-items:center;
  background:linear-gradient(160deg,rgba(10,13,20,.82) 0%,rgba(20,33,61,.45) 55%,#9a4b16 120%),url(/art/hero-coast.svg) center/cover no-repeat,#14213d}
.hero-in{max-width:1240px;width:100%;margin:0 auto;padding:64px 28px}
.hero.lux h1{font-size:clamp(2.4rem,6.2vw,4.6rem);line-height:1.04;margin:0 0 14px;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.hero.lux .lede{font-size:clamp(1rem,1.6vw,1.25rem);max-width:640px;color:#f4efe6;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.hero .searchbar{border-radius:12px;max-width:1000px;padding:14px;gap:12px;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.searchbar label{color:#2b3140;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.searchbar input,.searchbar select{min-height:44px;border-color:#9aa3b2}
.searchbar .sf-go{background:var(--navy);color:#fff;min-height:46px;border:1px solid var(--gold);padding:10px 22px}
.srchhead .searchbar{box-shadow:none;border:1px solid var(--line);margin-top:10px}
/* featured cards */
.sechead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.sechead h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:0}.more{font-weight:600;color:#1d3a6e}
.card{border-radius:10px;border-color:var(--line);box-shadow:0 2px 10px rgba(10,13,20,.06)}.card h3{font-size:1.15rem}.card h3 a{color:#121826;text-decoration:none}.card h3 a:hover,.card h3 a:focus-visible{text-decoration:underline}
.card .ph{position:relative}.card .ph img{border-bottom:2px solid var(--gold)}
.fav{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:50%;padding:0;background:rgba(10,13,20,.62);color:#fff;font-size:1.3rem;line-height:44px;border:1px solid rgba(255,255,255,.6)}.fav[aria-pressed=true]{color:#f0c27a;background:rgba(10,13,20,.85)}.fav:hover{background:var(--k)}
.badge.elig{background:#eef1f7;color:#1f3357}.badge.soon{background:var(--gold);color:var(--k);vertical-align:middle;font-family:system-ui,sans-serif}
.card .price{font-size:1.1rem;color:#0f1a31}.tags{margin:6px 0 0}
.dest .noimg{aspect-ratio:3/2;background:linear-gradient(160deg,#14213d,#7a4a2a)}
/* trust strip */
.trust{background:var(--mist);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust ul{list-style:none;margin:0 auto;max-width:1240px;padding:22px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.trust li{display:flex;gap:12px;align-items:flex-start}.trust svg{width:30px;height:30px;flex:none;color:var(--gold-d)}.trust strong{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#121826}.trust span{font-size:.88rem;color:#3d4554}
/* owner band */
.owner{color:#fff;background:linear-gradient(90deg,rgba(10,13,20,.96) 0%,rgba(20,33,61,.9) 55%,rgba(20,33,61,.35) 100%),url(/art/owner-band.svg) right center/cover no-repeat,var(--navy)}
.owner-in{max-width:1240px;margin:0 auto;padding:40px 24px}.owner h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:0 0 10px;max-width:680px}.owner p{max-width:640px;color:#e7e9ee}.owner .dom{color:var(--gold)}
/* search page */
.layout{grid-template-columns:250px 1fr 360px}.filters{border-radius:10px}.filters legend{font-family:var(--serif)}
.map svg{background:#dfe7f2}.map .land{fill:#f3ede2;stroke:#b5a17a}.pin circle{fill:var(--navy);stroke:var(--gold);stroke-width:2}.pin:focus circle,.pin:hover circle{fill:#9a4b16}
.chip{background:var(--mist)}
/* details */
.crumb{margin:0 0 6px}.dhead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.dhead h1{font-size:clamp(1.8rem,3.6vw,2.8rem);margin:0 0 4px}
.gallery img{border-radius:8px}.thumbs button[aria-pressed=true]{border-color:var(--gold)}
.book{border-radius:10px;border-top:3px solid var(--gold);box-shadow:0 10px 30px rgba(10,13,20,.1)}.bookh{margin:0 0 6px;font-size:1.25rem}
.calnav button{min-height:44px;min-width:44px}.cal div{padding:8px 2px;font-size:.8rem}
.foot{max-width:none;background:var(--k);color:#c7ccd6;padding:22px 28px 40px}.foot strong{color:#fff}.foot .dom{color:var(--gold)}
@media (max-width:1000px){.trust ul{grid-template-columns:1fr 1fr}.layout:not(.search-layout){grid-template-columns:1fr}.hero.lux{min-height:0}}
@media (max-width:560px){.trust ul{grid-template-columns:1fr}.hero-in{padding:40px 16px}.searchbar{grid-template-columns:1fr}.searchbar .sf-go{grid-column:auto}.wrap{padding:20px 14px}.owner-in{padding:30px 16px}.top{padding:10px 14px}}
.paths{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}.path{border:1px solid rgba(201,166,107,.55);border-radius:10px;padding:16px 18px;background:rgba(10,13,20,.35)}.path h3{margin:0 0 6px;color:#fff}
.paths.light .path{background:#fff;border-color:var(--line)}.paths.light .path.sel{border-color:var(--gold-d);box-shadow:0 0 0 2px rgba(201,166,107,.35)}.paths.light h2{font-size:1.2rem;margin:0 0 6px}
.btn.ghostlight{background:transparent;color:#fff;border:1px solid var(--gold);border-radius:6px;padding:9px 16px}.btn.ghostlight:hover{background:rgba(201,166,107,.15)}
@media (max-width:760px){.paths{grid-template-columns:1fr}}
input:focus,select:focus,textarea:focus,input[type=date]:focus-within{outline:3px solid #c27a12;outline-offset:1px}
/* v1.0 tuning after first visual review */
/* Mobile re-audit 2026-10-26 — F5 desktop overflow (allow wrap; was nowrap +60px) */
@media (min-width: 1181px) {
  .top { flex-wrap: wrap; }
  /* FOUNDER signin-upper-right 2026-10-27: do NOT margin-left:auto the whole #nav
     (that clustered Explore/Search/List/SignIn mid-right). Links stay after brand;
     Sign In alone is pushed far-right via styles.css #signin { margin-left:auto }. */
  #nav { flex-wrap: wrap; margin-left: 0; min-width: 0; flex: 1 1 auto; }
  #nav a { padding: 8px 8px; white-space: nowrap; }
  #nav .navbtn { white-space: nowrap; }
  .top .role { white-space: nowrap; }
  .top .role select { max-width: 170px; }
  #v9out { flex-shrink: 0; }
}
.hero.lux{background:linear-gradient(170deg,rgba(10,13,20,.62) 0%,rgba(20,33,61,.18) 50%,rgba(154,75,22,.30) 100%),url(/art/hero-coast.svg) center/cover no-repeat,#14213d}

/* Founder exec #4 — keep search results+map 2-col through tablet (filters stack) */
@media (max-width:1024px){
  .search-layout{grid-template-columns:minmax(0,1fr) minmax(240px,320px)}
  .search-layout .filters{grid-column:1/-1}
}
@media (max-width:767px){
  .search-layout{grid-template-columns:1fr}
}

/* FE land 2026-10-27 Mobile P1 #4 — keep pin hit circle invisible */
.map .pin circle.pin-hit,.map .pin:focus circle.pin-hit,.map .pin:hover circle.pin-hit{fill:transparent;stroke:none;r:28}
