/* ============================================================
   SALTLINE — Luxury Flagship Design System (SUPERENGINE)
   Ivory / midnight / champagne. Fraunces editorial display over
   system sans. Loaded last on every page; overrides the light
   corporate base without touching content, data, or behaviour.
   ============================================================ */
:root{
  --bg:#FAF8F3; --gray:#F2EEE5; --ink:#101619; --sub:#5F6259;
  --line:#E0D9C8; --cardline:#E7E1D2;
  --accent:#0E2B33; --accent-dark:#081D23;
  --champ:#B9975B; --champ-2:#D8BE85; --champ-dark:#8F713C;
  --green:#1C6B3C; --green-bg:#EDF5EC; --green-line:#C4DEC6;
  --amber:#9A6206; --amber-bg:#FAF1DC; --amber-line:#EBD9A8;
  --red:#B3352B;
  --shadow:0 10px 34px rgba(16,22,25,.07);
  --shadow-lg:0 22px 54px rgba(16,22,25,.13);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
}
html{background:#FAF8F3}
body{background:#FAF8F3 !important;color:#101619}
::selection{background:#B9975B;color:#fff}

/* ---- type ---- */
h1,h2,.hero h1,.logo,.tier .tname,.loc .city,.kpi .n,.greet h1,
.fcard h3,.dishcard h4,.membercard,.stat b{
  font-family:"Fraunces",Georgia,"Times New Roman",serif !important;
  font-weight:560; letter-spacing:-.01em;
}
h1 em,h2 em,.hero h1 em,.greet h1 em{color:#8F713C !important;font-style:italic}
.eyebrow{color:#7C5F2C !important;letter-spacing:.22em !important;font-size:11.5px !important}
.lux-closing .eyebrow,.lux-closing h2,.lux-closing p{text-shadow:0 1px 12px rgba(0,0,0,.55)}
.sub{color:#5F6259}
section{background:transparent}

/* ---- header / nav ---- */
header{background:rgba(250,248,243,.82) !important;border-bottom:1px solid rgba(143,113,60,.22) !important}
.logo{font-size:23px !important;letter-spacing:.24em !important;font-weight:600 !important;color:#101619 !important;display:inline-block !important;white-space:nowrap;line-height:1.05}
.logo span{color:#101619 !important}
.logo .wave{display:block;width:86px;height:10px;margin-top:3px}
nav a:hover{color:#8F713C !important}
.hq-link{background:linear-gradient(135deg,#DCC086,#B9975B) !important;color:#191204 !important;box-shadow:0 4px 14px rgba(143,113,60,.28)}
.hq-link:hover{background:linear-gradient(135deg,#D2B273,#A88747) !important;color:#191204 !important}
.gchip{border-color:#B9975B !important;color:#7C5F2C !important;background:rgba(255,255,255,.7) !important}
.gjoin{background:#F2EEE5 !important}

/* ---- buttons ---- */
.btn{letter-spacing:.01em;transition:transform .25s ease,box-shadow .25s ease,background .25s ease !important}
.btn-solid{background:linear-gradient(135deg,#DCC086,#B9975B) !important;color:#191204 !important;box-shadow:0 8px 22px rgba(143,113,60,.30)}
.btn-solid:hover{background:linear-gradient(135deg,#D2B273,#A88747) !important;transform:translateY(-1px)}
.btn-line{background:transparent !important;border:1px solid #101619 !important;color:#101619 !important}
.btn-line:hover{background:rgba(16,22,25,.06) !important}
.qchip:hover,.fchip:hover{border-color:#B9975B !important;color:#8F713C !important}
.fchip.on,.qchip.on{background:#101619 !important;color:#FAF8F3 !important;border-color:#101619 !important}
.chip{background:#fff !important;border-color:#E7E1D2 !important}
.mrow button{background:#101619 !important}
.mrow button:hover{background:#0E2B33 !important}
.mrow input:focus{border-color:#B9975B !important}

/* ---- demo tag ---- */
.demo-tag{background:rgba(16,22,25,.86) !important;color:#F2EEE5 !important;border-color:rgba(185,151,91,.5) !important;backdrop-filter:blur(10px)}

/* ============================================================
   HOMEPAGE — cinematic hero
   ============================================================ */
.hero{position:relative !important;display:block !important;max-width:none !important;margin:0 !important;padding:0 !important;min-height:100svh}
.hero .bg{position:absolute !important;inset:0;height:auto !important;margin:0 !important;border-radius:0 !important;box-shadow:none !important;order:0 !important}
.hero .bg img{width:100%;height:100%;object-fit:cover}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,17,20,.55) 0%,rgba(10,17,20,.20) 34%,rgba(10,17,20,.34) 62%,rgba(10,17,20,.84) 100%)}
.hero .eyebrow,.hero p.lede{text-shadow:0 1px 14px rgba(0,0,0,.55)}
.hero-in{position:relative;z-index:2;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:120px 20px 54px !important;max-width:1180px;margin:0 auto}
.hero .eyebrow{color:#D8BE85 !important}
.hero h1{color:#FBF9F4 !important;font-size:clamp(46px,8.4vw,96px) !important;line-height:1.02 !important;max-width:820px;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.hero h1 em{color:#D8BE85 !important}
.hero p.lede{color:rgba(251,249,244,.86) !important;max-width:520px}
.hero .btn-line{border-color:rgba(251,249,244,.85) !important;color:#FBF9F4 !important;background:rgba(255,255,255,.06) !important;backdrop-filter:blur(6px)}
.hero .btn-line:hover{background:rgba(255,255,255,.16) !important}
.hero .stats{border-top:1px solid rgba(251,249,244,.34) !important;max-width:680px}
.hero .stat b{color:#FBF9F4 !important;font-size:30px}
.hero .stat s{color:rgba(251,249,244,.66) !important}
@media(max-width:760px){
  .hero-in{padding:104px 20px 44px !important}
  .hero .stats{gap:0}
  .logo{font-size:18px !important;letter-spacing:.15em !important}
  .logo .wave{width:58px !important}
  .hero .stat{padding:14px 10px 0 0 !important;margin-right:10px !important}
  .hero .stat b{font-size:24px !important}
  .hero .stat s{font-size:10px !important}
}

/* system strip → quiet enterprise band */
.system{background:#0E2B33 !important;border-top:none !important}
.system h2{color:#FBF9F4 !important}
.system h2 em{color:#D8BE85 !important}
.system .sub{color:rgba(251,249,244,.72)}
.system .eyebrow{color:#D8BE85 !important}
.node{background:rgba(255,255,255,.045) !important;border:1px solid rgba(216,190,133,.26) !important;box-shadow:none !important;border-radius:14px !important}
.node h3{color:#FBF9F4 !important;font-family:"Fraunces",Georgia,serif;font-size:17px !important;font-weight:560}
.node p{color:rgba(251,249,244,.66) !important}
.node::after{color:rgba(216,190,133,.6) !important}
.system .btn-line{border-color:rgba(251,249,244,.6) !important;color:#FBF9F4 !important}
.system .btn-line:hover{background:rgba(255,255,255,.10) !important}

/* homepage location rail → photographic */
.rail{gap:18px !important;padding-top:34px !important}
.loc{flex:0 0 292px !important;padding:0 0 20px !important;overflow:hidden;border-radius:20px !important;border-color:#E7E1D2 !important;background:#fff !important}
.loc .locphoto{display:block;height:172px;overflow:hidden}
.loc .locphoto img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.loc:hover .locphoto img{transform:scale(1.05)}
.loc .city,.loc .hood,.loc p,.loc .tonight,.loc .viewlink{margin-left:20px;margin-right:20px}
.loc .city{margin-top:16px;font-size:25px !important}
.loc .hood{color:#7C5F2C !important}
.loc .viewlink{color:#7C5F2C !important}
.loc .res{color:#0E2B33 !important}

/* tiers → membership presentation */
.tier{border-radius:18px !important;border-color:#E7E1D2 !important;background:#fff !important;padding:32px 26px !important}
.tier .tname{font-size:27px !important}
.tier .price{color:#8F713C !important}
.tier li::before{content:"— " !important;color:#B9975B !important}
.tier.hot{border:1px solid rgba(185,151,91,.65) !important;background:linear-gradient(180deg,#FBF6EA,#FFFFFF) !important;box-shadow:0 18px 44px rgba(143,113,60,.14) !important}

/* Marina → concierge panel */
.marina{background:#F2EEE5 !important;border-block:1px solid #E0D9C8 !important}
.chat{border-radius:20px !important;border-color:#E0D9C8 !important;box-shadow:0 22px 54px rgba(16,22,25,.12) !important;padding:24px !important}
.msg.guest{background:#F2EEE5 !important}
.msg.ai{background:#0E2B33 !important}
.booked{background:#EDF5EC !important;border-color:#C4DEC6 !important}

/* homepage editorial + closing (added sections) */
.lux-editorial{display:grid;grid-template-columns:.92fr 1.08fr;gap:54px;align-items:center}
.lux-editorial .frame{border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg)}
.lux-editorial .frame img{width:100%;height:100%;object-fit:cover;min-height:380px}
.lux-kicker-num{font-family:"Fraunces",Georgia,serif;font-size:64px;color:#B9975B;line-height:1}
@media(max-width:860px){.lux-editorial{grid-template-columns:1fr}}
.lux-closing{position:relative;border-radius:26px;overflow:hidden;min-height:440px;display:flex;align-items:flex-end;box-shadow:var(--shadow-lg)}
.lux-closing img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lux-closing::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(10,17,20,.05) 40%,rgba(10,17,20,.82))}
.lux-closing .in{position:relative;z-index:2;padding:44px;color:#FBF9F4;max-width:640px}
.lux-closing h2{color:#FBF9F4 !important}
.lux-closing h2 em{color:#D8BE85 !important}
.lux-closing p{color:rgba(251,249,244,.82);margin-top:12px;line-height:1.6}
.lux-rule{width:56px;height:1px;background:#B9975B;margin:20px 0}

/* ============================================================
   INNER PAGES — page heroes & cards
   ============================================================ */
.pagehero{padding-top:132px !important}
.pagehero .bg{border-radius:22px !important;overflow:hidden;box-shadow:var(--shadow-lg) !important;margin-top:38px}
.pagehero .bg img{width:100%;height:clamp(280px,46vw,480px);object-fit:cover}
.fcard,.dcard,.dishcard,.step,.pickcard{background:#fff !important;border-color:#E7E1D2 !important;border-radius:18px !important}
.fcard{overflow:hidden;padding:0 !important}
.fcard .fphoto img{transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.fcard:hover .fphoto img{transform:scale(1.045)}
.fhood,.price{color:#7C5F2C !important}
.viewlink{color:#7C5F2C !important}
.matchbadge{background:linear-gradient(135deg,#DCC086,#B9975B) !important;color:#191204 !important}
.dishlist .dishrow{border-color:#E7E1D2 !important}
input[type="search"],input[type="text"],input[type="email"],select{outline-color:#B9975B}
input:focus{border-color:#B9975B !important}

/* Supper Club member card → premium midnight card */
.membercard{background:linear-gradient(140deg,#131E22 0%,#0E2B33 58%,#123B46 100%) !important;color:#F5F1E6 !important;border:1px solid rgba(185,151,91,.55) !important;box-shadow:0 26px 60px rgba(14,43,51,.35) !important;border-radius:22px !important}
.membercard .mc-top,.membercard .mc-row,.membercard .mc-name{color:#F5F1E6 !important}
.membercard .dim,.membercard .mc-row span{color:rgba(245,241,230,.62) !important}
.ledger{background:#fff !important;border-color:#E7E1D2 !important;border-radius:18px !important}
.ledger .plus{color:#1C6B3C !important}.ledger .minus{color:#B3352B !important}
.step .n{color:#7C5F2C !important;letter-spacing:.18em}

/* footer */
footer{background:#101619 !important;border-top:none !important;color:#CFC9BA !important}
footer .logo,footer .foot b{color:#FBF9F4 !important}
footer .foot{color:#A9A294 !important}
footer a{color:#D8BE85 !important}

/* ============================================================
   HQ — midnight command center (body.lux-hq)
   ============================================================ */
body.lux-hq{background:#0B1114 !important;color:#EDE9DC !important}
body.lux-hq header{background:rgba(11,17,20,.86) !important;border-bottom:1px solid rgba(185,151,91,.30) !important}
body.lux-hq .logo{color:#FBF9F4 !important} body.lux-hq .logo span{color:#FBF9F4 !important}
body.lux-hq .hqtag{border-color:rgba(185,151,91,.55) !important;color:#D8BE85 !important;background:transparent !important}
body.lux-hq .who{color:#A9A294 !important} body.lux-hq .who b{color:#FBF9F4 !important}
body.lux-hq .who a{color:#D8BE85 !important}
body.lux-hq .greet h1{color:#FBF9F4 !important} body.lux-hq .greet h1 em{color:#D8BE85 !important}
body.lux-hq .greet p{color:#A9A294 !important}
body.lux-hq .card,body.lux-hq .kpi{background:#121A1E !important;border-color:#26333A !important;box-shadow:0 14px 34px rgba(0,0,0,.35) !important}
body.lux-hq .kpi .n{color:#FBF9F4 !important}
body.lux-hq .kpi .l,body.lux-hq .card h2{color:#9AA39B !important}
body.lux-hq .kpi .d{color:#7FC98F !important} body.lux-hq .kpi .d.warn{color:#E4B95B !important}
body.lux-hq .card h2 .count{background:linear-gradient(135deg,#DCC086,#B9975B) !important;color:#191204 !important}
body.lux-hq .appr .t,body.lux-hq .flow .t{color:#FBF9F4 !important}
body.lux-hq .appr .b,body.lux-hq .flow .b{color:#A9A294 !important}
body.lux-hq .appr .b i{color:#EDE9DC !important}
body.lux-hq .appr,body.lux-hq .flow,body.lux-hq .tl,body.lux-hq .tl .ev{border-color:#26333A !important}
body.lux-hq .btn{background:linear-gradient(135deg,#DCC086,#B9975B) !important;color:#191204 !important}
body.lux-hq .btn.ghost{background:transparent !important;border:1px solid #3A4A51 !important;color:#EDE9DC !important}
body.lux-hq .btn.done{background:#1C6B3C !important;color:#fff !important}
body.lux-hq th{color:#9AA39B !important;border-color:#26333A !important}
body.lux-hq td{color:#EDE9DC !important;border-color:#1E2A30 !important}
body.lux-hq .num{color:#EDE9DC !important}
body.lux-hq .up{color:#7FC98F !important} body.lux-hq .down{color:#E88A7D !important}
body.lux-hq .pill{background:rgba(28,107,60,.22) !important;border-color:rgba(127,201,143,.4) !important;color:#7FC98F !important}
body.lux-hq .pill.draft{background:rgba(154,98,6,.22) !important;border-color:rgba(228,185,91,.4) !important;color:#E4B95B !important}
body.lux-hq .guest-head .n{color:#FBF9F4 !important}
body.lux-hq .guest-head .s,body.lux-hq .tl .when,body.lux-hq .foot{color:#A9A294 !important}
body.lux-hq .tl .ev{color:#EDE9DC !important}
body.lux-hq .tl .pts{color:#D8BE85 !important}
body.lux-hq .avatar{background:linear-gradient(135deg,#B9975B,#0E2B33) !important}
body.lux-hq .src{color:#7E877F !important}
body.lux-hq .demo-tag{background:rgba(250,248,243,.92) !important;color:#101619 !important}

.node .ic{font-family:"Fraunces",Georgia,serif !important;color:#D8BE85 !important;font-size:21px !important;letter-spacing:.06em}
body.lux-hq .flow .ic{font-family:"Fraunces",Georgia,serif;color:#D8BE85;font-size:15px;letter-spacing:.08em;padding-top:2px}
.lux-closing .btn-line{border-color:rgba(251,249,244,.85) !important;color:#FBF9F4 !important;background:rgba(255,255,255,.06) !important}
.lux-closing .btn-line:hover{background:rgba(255,255,255,.16) !important}

/* focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #B9975B;outline-offset:2px}

@media (prefers-reduced-motion:reduce){
  .loc .locphoto img,.fcard .fphoto img{transition:none !important}
}
