
:root{
  --lx-bg:#f7f3ec;
  --lx-bg-soft:#fbf8f2;
  --lx-panel:#ffffff;
  --lx-ink:#0c1c20;
  --lx-ink-soft:#2a3d41;
  --lx-muted:#66757b;
  --lx-line:rgba(12,28,32,.10);
  --lx-line-strong:rgba(12,28,32,.18);
  --lx-gold:#b58a42;
  --lx-gold-deep:#8e6829;
  --lx-shadow-lg:0 28px 70px rgba(12,28,32,.08);
  --lx-shadow-md:0 14px 36px rgba(12,28,32,.06);
  --lx-shadow-sm:0 8px 22px rgba(12,28,32,.05);
  --lx-radius-xl:28px;
  --lx-radius-lg:20px;
  --lx-radius-md:14px;
  --lx-serif:"Cormorant Garamond", Georgia, serif;
  --lx-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--lx-sans);
  color:var(--lx-ink);
  background:#fff;
  line-height:1.65;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.lx-container{width:min(1260px, calc(100% - 32px)); margin-inline:auto}

.lx-top-placeholder{min-height:80px}
.lx-section{padding:84px 0}
.lx-section-cream{background:linear-gradient(180deg,#fff 0%, var(--lx-bg-soft) 100%)}
.lx-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:11px; text-transform:uppercase; letter-spacing:.24em; font-weight:700; color:var(--lx-gold);
}
.lx-eyebrow::before,.lx-eyebrow::after{content:""; width:24px; height:1px; background:currentColor; opacity:.6}
.lx-divider{display:flex; align-items:center; gap:12px; margin:14px 0 18px}
.lx-divider::before,.lx-divider::after{content:""; flex:0 0 54px; height:1px; background:linear-gradient(90deg, transparent, rgba(181,138,66,.72), transparent)}
.lx-divider-icon{font-size:14px; color:var(--lx-gold)}
.lx-section-head{text-align:center; max-width:900px; margin:0 auto 30px}
.lx-section-head h1,.lx-section-head h2,.lx-section-head h3,.lx-hero h1,.lx-chat-side h2{
  font-family:var(--lx-serif);
  font-weight:600;
  letter-spacing:.01em;
}
.lx-section-head h2{font-size:clamp(36px,4vw,58px); line-height:1.02; margin:0 0 14px}
.lx-section-head p,.lx-mini{color:var(--lx-muted)}
.lx-mini{font-size:13px; line-height:1.65}

.lx-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:50px; padding:0 22px; border-radius:999px; border:1px solid transparent;
  font-weight:600; transition:.2s ease; cursor:pointer;
}
.lx-btn:hover{transform:translateY(-1px)}
.lx-btn-gold{
  background:linear-gradient(180deg, #c3994f 0%, #a8782e 100%);
  color:#fff; box-shadow:0 14px 28px rgba(181,138,66,.24);
}
.lx-btn-gold:hover{filter:brightness(.98)}
.lx-btn-ghost{
  background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.24); backdrop-filter:blur(10px)
}
.lx-btn-soft{
  background:#fff; color:var(--lx-ink); border-color:var(--lx-line-strong)
}

.lx-hero{
  position:relative;
  min-height:720px;
  display:flex;
  align-items:center;
  background:#081318;
  color:#fff;
}
.lx-hero-img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.lx-hero-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(5,12,16,.78) 0%, rgba(5,12,16,.58) 40%, rgba(5,12,16,.44) 100%),
    linear-gradient(180deg, rgba(4,10,13,.22) 0%, rgba(4,10,13,.66) 100%);
}
.lx-hero-frame{
  position:absolute; inset:20px; border:1px solid rgba(255,255,255,.12); pointer-events:none
}
.lx-hero-inner{position:relative; z-index:2; width:100%}
.lx-crumb{display:flex; align-items:center; gap:10px; font-size:13px; opacity:.9; margin-bottom:22px}
.lx-crumb .sep{opacity:.5}
.lx-hero-eyebrow{
  display:inline-block; margin-bottom:16px;
  font-size:12px; letter-spacing:.28em; text-transform:uppercase; color:#dec389
}
.lx-hero h1{
  margin:0 0 18px;
  font-size:clamp(48px, 7vw, 88px);
  line-height:.95;
  max-width:900px;
}
.lx-hero h1 em{font-style:italic; color:#e8cf95}
.lx-hero-lead{
  max-width:760px; margin:0 0 28px;
  font-size:18px; color:rgba(255,255,255,.86)
}
.lx-hero-actions{display:flex; flex-wrap:wrap; gap:14px; margin-top:12px}
.lx-hero-badges{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px;
  margin-top:34px; max-width:980px;
}
.lx-hero-badge{
  padding:16px 18px; border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06); backdrop-filter:blur(10px)
}
.lx-hero-badge strong{display:block; font-size:15px; margin-bottom:4px}
.lx-hero-badge span{display:block; font-size:13px; color:rgba(255,255,255,.8)}

.lx-search-panel,.lx-panel{
  background:var(--lx-panel); border:1px solid var(--lx-line);
  border-radius:var(--lx-radius-xl); box-shadow:var(--lx-shadow-lg);
}
.lx-search-panel{padding:28px}
.lx-search-grid{
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr auto;
  gap:14px; align-items:end;
}
.lx-field{display:grid; gap:8px}
.lx-field label{
  font-size:12px; font-weight:700; color:var(--lx-ink-soft); letter-spacing:.08em; text-transform:uppercase
}
.lx-input,.lx-select{
  height:54px; border:1px solid var(--lx-line-strong); background:#fff;
  padding:0 16px; color:var(--lx-ink); outline:none; border-radius:14px;
}
.lx-input:focus,.lx-select:focus{border-color:var(--lx-gold); box-shadow:0 0 0 4px rgba(181,138,66,.12)}

.lx-search-layout{
  display:grid; grid-template-columns:360px minmax(0,1fr); gap:24px;
}
.lx-search-sidebar{
  position:sticky; top:110px; align-self:start;
  padding:24px;
}
.lx-filter-grid{display:grid; gap:14px}
.lx-type-filters{display:flex; flex-wrap:wrap; gap:10px; margin-top:10px}
.lx-chip{
  display:inline-flex; align-items:center; gap:8px;
  min-height:40px; padding:0 14px; border-radius:999px; border:1px solid var(--lx-line-strong);
  background:#fff; color:var(--lx-ink-soft); cursor:pointer; transition:.2s ease;
}
.lx-chip:hover,.lx-chip.-active{border-color:var(--lx-gold); color:var(--lx-ink); background:#fffaf0}
.lx-preset-list{display:flex; flex-wrap:wrap; gap:10px; margin-top:16px}

.lx-search-main{display:grid; gap:18px}
.lx-results-toolbar,.lx-summary-card{
  padding:18px 20px; border:1px solid var(--lx-line); background:#fff; box-shadow:var(--lx-shadow-sm)
}
.lx-results-toolbar{display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; border-radius:18px}
.lx-results-grid{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px}
.lx-result{
  background:#fff; border:1px solid var(--lx-line);
  border-radius:22px; box-shadow:var(--lx-shadow-md); padding:22px; display:grid; gap:18px
}
.lx-result-top{
  display:flex; justify-content:space-between; gap:12px; align-items:flex-start
}
.lx-result-kicker{
  font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--lx-gold)
}
.lx-result h3{
  margin:0; font-size:28px; line-height:1.05; font-family:var(--lx-serif); font-weight:600
}
.lx-result-summary{margin:0; color:var(--lx-ink-soft); font-size:15px}
.lx-pill-row{display:flex; flex-wrap:wrap; gap:8px}
.lx-pill{
  display:inline-flex; min-height:30px; align-items:center; padding:0 10px; border-radius:999px;
  background:var(--lx-bg-soft); border:1px solid var(--lx-line); font-size:12px; color:var(--lx-ink-soft)
}
.lx-meta-grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px
}
.lx-meta-box{
  padding:12px 14px; border-radius:14px; border:1px solid var(--lx-line); background:#fcfcfb
}
.lx-meta-box span{display:block; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--lx-muted); font-weight:700}
.lx-meta-box strong{display:block; margin-top:6px; font-size:14px; color:var(--lx-ink)}
.lx-result-foot{
  display:flex; align-items:end; justify-content:space-between; gap:18px; flex-wrap:wrap
}
.lx-price-kicker{font-size:11px; text-transform:uppercase; letter-spacing:.14em; color:var(--lx-muted); font-weight:700}
.lx-price{font-size:28px; line-height:1; font-weight:700; color:var(--lx-ink)}
.lx-price small{font-size:12px; color:var(--lx-muted); font-weight:500}
.lx-empty{
  padding:38px; text-align:center; background:#fff; border:1px dashed var(--lx-line-strong); border-radius:24px
}

.lx-chat-layout{display:grid; grid-template-columns:.88fr 1.12fr; gap:24px}
.lx-chat-side,.lx-chat-main{
  background:#fff; border:1px solid var(--lx-line); border-radius:28px; box-shadow:var(--lx-shadow-lg)
}
.lx-chat-side{padding:28px}
.lx-chat-side h2{font-size:48px; line-height:1.02; margin:0 0 14px}
.lx-chat-main{
  display:flex; flex-direction:column; min-height:780px; overflow:hidden
}
.lx-chat-header{
  padding:22px 24px; border-bottom:1px solid var(--lx-line);
  background:linear-gradient(180deg, #ffffff 0%, var(--lx-bg-soft) 100%)
}
.lx-chat-messages{
  flex:1; overflow:auto; padding:24px; display:flex; flex-direction:column; gap:14px;
  background:linear-gradient(180deg, #fff 0%, #faf7f1 100%)
}
.lx-msg{
  max-width:88%; padding:16px 18px; border-radius:20px; line-height:1.72; font-size:15px;
  white-space:normal
}
.lx-msg.user{
  align-self:flex-end; background:var(--lx-ink); color:#fff; border-bottom-right-radius:6px
}
.lx-msg.bot{
  align-self:flex-start; background:#fff; color:var(--lx-ink); border:1px solid var(--lx-line); border-bottom-left-radius:6px;
  box-shadow:var(--lx-shadow-sm)
}
.lx-msg p{margin:.2em 0 .7em}
.lx-msg p:last-child{margin-bottom:0}
.lx-chat-form{padding:18px; border-top:1px solid var(--lx-line); background:#fff}
.lx-chat-row{display:grid; grid-template-columns:1fr auto; gap:12px}
.lx-suggestions,.lx-link-list{display:grid; gap:10px}
.lx-suggestions-inline{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px}
.lx-link-card{
  padding:14px 16px; border:1px solid var(--lx-line); border-radius:16px; background:var(--lx-bg-soft)
}
.lx-link-card strong{display:block; font-size:15px; margin-bottom:6px}
.lx-note{
  padding:16px 18px; border-left:2px solid var(--lx-gold); background:var(--lx-bg-soft); color:var(--lx-ink-soft); font-size:14px
}

.lx-footer-space{height:10px}

@media (max-width:1150px){
  .lx-search-grid{grid-template-columns:1fr 1fr}
  .lx-search-layout,.lx-chat-layout{grid-template-columns:1fr}
  .lx-search-sidebar{position:relative; top:auto}
}
@media (max-width:820px){
  .lx-results-grid{grid-template-columns:1fr}
  .lx-hero-badges{grid-template-columns:1fr 1fr}
  .lx-meta-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .lx-section{padding:68px 0}
  .lx-container{width:min(1260px, calc(100% - 20px))}
  .lx-hero{min-height:700px}
  .lx-hero-frame{inset:12px}
  .lx-hero-badges{grid-template-columns:1fr}
  .lx-search-panel,.lx-chat-side,.lx-chat-main,.lx-result{border-radius:20px}
  .lx-chat-row,.lx-search-grid{grid-template-columns:1fr}
  .lx-chat-main{min-height:680px}
  .lx-msg{max-width:100%}
}
