@charset "UTF-8";

/* 恋胜 · warm city light, candid portraits, and a contemporary romance palette. */
:root {
  --wine:#CD586C;
  --wine-dark:#A23D55;
  --rose:#FBE9EA;
  --ink:#43212D;
  --muted:#7F6D71;
  --line:#EFE3DE;
  --paper:#FFFCFA;
  --bg:#FCF8F5;
  --gold:#B98B68;
  --green:#B66A80;
  --radius:16px;
  --shadow:0 12px 32px rgb(91 49 58 / 6%);
  --romance-coral:#EB6C70;
  --romance-rose:#B66A80;
  --romance-champagne:#F7ECDF;
  --romance-surface:#FFF6F1;
  --romance-serif:"Noto Serif SC","Songti SC","Source Han Serif SC","SimSun",serif;
}

body { background:var(--bg); color:var(--ink); }
::selection { color:#43212D; background:#F9D9DB; }
h1,h2,h3,h4 { color:var(--ink); }
button,a { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible { outline:2px solid #CD586C; outline-offset:4px; }
input,select,textarea { background:#FFFDFB; border-color:#E9DBD7; color:#574149; }
input:focus,select:focus,textarea:focus { border-color:#D8919C; box-shadow:0 0 0 3px #F9E8E9; }
input::placeholder,textarea::placeholder { color:#89757C; }
.btn { border-radius:10px; }
.btn.primary { color:#fff; background:#C54A61; border-color:#C54A61; box-shadow:0 4px 12px #C54A6119; }
.btn.primary:hover { color:#fff; background:#B13E56; border-color:#B13E56; box-shadow:0 6px 17px #C54A6125; }
.btn.secondary { color:#AD4A60; background:#FFFCFA; border-color:#E5B7BF; }
.btn.secondary:hover { color:#92384F; background:#FFF0EF; border-color:#D99AA6; }
.btn.ghost { color:#AD4A60; background:#FBE9EA; }
.text-btn,.detail-btn { color:#B34D62; }
.btn:disabled,.btn[aria-disabled="true"] { box-shadow:none; }

/* A small trademark signature sits beside a typographic brand. */
.brand .brand-symbol { background:#fff; border:0; box-shadow:none; border-radius:8px; padding:2px; }
.brand-identity { gap:3px; }
.lm-wordmark { color:#43212D; font-family:var(--romance-serif); font-size:30px; font-weight:700; line-height:1.15; letter-spacing:2px; }
.lm-wordmark sup { color:#A44F64; font-family:var(--sans); font-size:10px; }
.brand-caption,.lm-brand-caption { color:#92787D; font-size:10px; letter-spacing:1.2px; }
.sidebar { background:#FFFCFA; border-right-color:#EEDFDA; }
.nav-label { color:#957B82; }
.nav-item { color:#846A73; }
.nav-item:hover { color:#A7455D; background:#FFF1EC; }
.nav-item.active { color:#AD455C; background:#FBE9EA; }
.nav-item.active:after { background:#E97A83; }
.membership-mini { background:linear-gradient(125deg,#FAEEE1 0%,#F9E9EA 100%); border-color:#EBD6CB; }
.membership-mini .price { color:#7F3B50; }
.membership-mini p { color:#8F7076; }
.membership-mini button { color:#A6495E; }
.org-avatar,.cp-advisor-avatar { color:#A7586C; background:#F8E6E5; }
.topbar { background:#FFFCFA; border-color:#EFE3DE; }
.breadcrumb,.date,.logout { color:#806B72; }
.breadcrumb b { color:#54323E; }
.verified-pill { color:#916275; background:#F9EDEA; }
.mobile-nav { background:#FFFCFAF7; border-color:#EEE0DB; }
.mobile-nav button.active { color:#C34E64; }
.page-heading { align-items:center; }
.page-heading h1 { color:#43212D; }
.heading-sub { color:#8A7178; }
.page-heading-actions { display:flex; flex-wrap:wrap; gap:9px; justify-content:flex-end; }
.content { max-width:1536px; }

/* Public navigation echoes a boutique introduction agency, not a dashboard. */
.guest-portal { background:linear-gradient(180deg,#FFFCF9 0,#FBF7F4 920px,#FCF8F5 100%); }
.guest-topbar { background:#FFFCFAF5; border-bottom-color:#EFE3DE; }
.guest-topbar-inner { max-width:1460px; min-height:74px; padding:0 42px; gap:30px; }
.guest-topbar .brand { gap:10px; }
.guest-topbar .brand .brand-symbol { width:33px; height:33px; }
.guest-topbar .lm-wordmark { font-size:31px; }
.guest-content { max-width:1460px; padding:25px 42px 48px; }
.ls-guest-nav { display:flex; align-self:stretch; align-items:center; justify-content:center; gap:38px; margin:0 auto; }
.ls-guest-nav button,.ls-guest-nav a { position:relative; display:inline-flex; align-items:center; min-height:73px; color:#70545F; background:none; padding:0 2px; border:0; font-size:15px; white-space:nowrap; }
.ls-guest-nav .active { color:#9A354F; font-weight:650; }
.ls-guest-nav .active:after { content:""; position:absolute; left:2px; right:2px; bottom:17px; height:3px; border-radius:2px; background:#EC7075; }
.guest-entry-actions { gap:11px; }
.guest-entry-actions .btn { min-height:40px; padding:9px 20px; font-size:13px; }
.guest-browse-badge { color:#987C82; font-size:12px; }

/* Photographic opening: sunset city depth, soft cream light, and a real collage. */
.ls-hero {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);
  align-items:center;
  min-height:370px;
  border-radius:21px;
  border:1px solid #F2DFD2;
  margin:0 0 24px;
  overflow:hidden;
  background:#F6E6D9 url('/hero-background.png') center 58%/cover no-repeat;
}
.ls-hero:before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#FFF7ECEF 0%,#FFF5E6D4 31%,#FFECD260 57%,#F7E0D315 100%); pointer-events:none; }
.ls-hero:after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,#F9DFD556 0%,#FFF7EC00 55%); pointer-events:none; }
.ls-hero-copy { position:relative; z-index:2; padding:34px 0 32px 43px; min-width:0; }
.ls-hero-eyebrow,.ls-hero-copy>.eyebrow { color:#9A6170; font:500 12px/1.5 var(--sans); letter-spacing:2px; margin:0 0 15px; }
.ls-hero-copy h1,.ls-hero-copy h2 { color:#4A1D2C; font:600 clamp(31px,3.3vw,49px)/1.38 var(--romance-serif); letter-spacing:1px; margin:0; text-wrap:balance; }
.ls-hero-copy h1 em,.ls-hero-copy h2 em { color:#7D3B4D; font-style:normal; }
.ls-hero-copy>p,.ls-hero-subtitle { color:#926D71; font:400 15px/1.95 var(--sans); letter-spacing:.6px; max-width:390px; margin:14px 0 0; }
.ls-hero-cta { display:inline-flex; align-items:center; justify-content:center; gap:15px; border:1px solid #C54A61; border-radius:30px; background:#C54A61; color:#fff; padding:10px 27px; min-height:46px; font-size:16px; margin-top:21px; box-shadow:0 5px 13px #C54A6120; }
.ls-hero-cta:hover { background:#B13E56; border-color:#B13E56; color:#fff; }
.ls-hero-cta .icon { width:19px; height:19px; stroke-width:1.6; }
.ls-hero-trust { display:flex; flex-wrap:wrap; align-items:center; gap:14px 23px; margin-top:25px; color:#8F6D70; font-size:12px; }
.ls-hero-trust>span,.ls-hero-trust>div { display:flex; align-items:center; gap:7px; line-height:1.5; }
.ls-hero-trust .icon { color:#E77A7B; width:22px; height:22px; stroke-width:1.5; flex:none; }
.ls-hero-trust strong { display:block; color:#72505B; font-size:12px; font-weight:500; }
.ls-hero-trust small { display:block; font-size:12px; color:#95777A; }
.ls-hero-collage { position:relative; height:370px; min-width:0; align-self:stretch; }
.ls-polaroid { position:absolute; margin:0; border:7px solid #FFFCFA; background:#FFFCFA; border-radius:10px; overflow:hidden; box-shadow:0 8px 24px #7B4F4826; }
.ls-polaroid img { display:block; width:100%; height:100%; object-fit:cover; }
.ls-polaroid figcaption { position:relative; padding:10px 11px 8px; background:#FFFCF7; color:#946B6F; text-align:center; font:500 13px/1.6 var(--romance-serif); letter-spacing:.8px; }
.ls-polaroid:nth-child(1) { z-index:2; width:53%; height:auto; left:1%; top:7%; transform:rotate(-7deg); }
.ls-polaroid:nth-child(1) img { object-position:50% 37%; }
.ls-polaroid:nth-child(2) { z-index:1; width:43%; height:auto; right:3%; top:2%; transform:rotate(7deg); }
.ls-polaroid:nth-child(3) { z-index:3; width:36%; height:auto; right:4%; bottom:-12%; transform:rotate(-4deg); }
.ls-demo-photo { background-image:url('/romance-portraits.png'); background-repeat:no-repeat; background-size:200% 200%; }
.ls-demo-photo.ls-portrait-1 { background-position:left top; }
.ls-demo-photo.ls-portrait-2 { background-position:right top; }
.ls-demo-photo.ls-portrait-3 { background-position:left bottom; }
.ls-demo-photo.ls-portrait-4 { background-position:right bottom; }
.ls-polaroid-photo { width:100%; height:auto; aspect-ratio:1/1; display:block; }
.ls-hero-note { position:absolute; bottom:10px; right:15px; z-index:4; color:#694E52; background:#FFF9F0E3; padding:3px 8px; border-radius:4px; font-size:12px; line-height:1.6; }
.ls-hero-compact { min-height:290px; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
.ls-hero-compact .ls-hero-copy { padding:29px 0 29px 32px; }
.ls-hero-compact .ls-hero-copy h1,.ls-hero-compact .ls-hero-copy h2 { font-size:34px; }
.ls-hero-compact .ls-hero-copy>p { font-size:14px; margin-top:11px; }
.ls-hero-compact .ls-hero-collage { height:290px; }
.ls-hero-compact .ls-hero-cta { font-size:14px; padding:9px 23px; min-height:42px; margin-top:16px; }
.ls-hero-compact .ls-hero-trust { gap:14px; margin-top:18px; }

@media (min-width:761px) {
  .guest-content { padding-top:20px; }
  .guest-portal .ls-hero { min-height:330px; margin-bottom:17px; }
  .guest-portal .ls-hero-collage { height:330px; }
  .guest-portal .ls-hero-copy { padding:13px 0 13px 39px; }
  .guest-portal .ls-hero-copy h1 { font-size:40px; line-height:1.3; }
  .guest-portal .ls-hero-copy h1 br { display:none; }
  .guest-portal .ls-hero-copy>p { font-size:13px; margin-top:11px; line-height:1.8; }
  .guest-portal .ls-hero-eyebrow { display:none; }
  .guest-portal .ls-hero-cta { min-height:42px; padding:8px 24px; font-size:15px; margin-top:14px; }
  .guest-portal .ls-hero-trust { gap:20px; margin-top:16px; flex-wrap:nowrap; }
  .guest-portal .ls-polaroid:nth-child(1) { width:47%; left:6%; top:7%; }
  .guest-portal .ls-polaroid:nth-child(2) { width:40%; right:3%; }
  .guest-portal .ls-polaroid:nth-child(3) { width:34%; right:4%; bottom:-13%; }
}

/* Factual statistics are separate from the visual promise. */
.ls-stats-bar,.ls-statistics,.guest-welcome-side,.welcome-stats { display:flex; align-items:center; justify-content:space-between; background:#FFFDFC; border:1px solid #EFE3DE; border-radius:12px; padding:16px 22px; gap:20px; margin:0 0 25px; }
.ls-stats-bar .guest-statistics,.ls-statistics .guest-statistics,.guest-welcome-side .guest-statistics { display:flex; align-items:center; gap:31px; }
.guest-statistics .stat,.welcome-stats .stat { display:flex; align-items:center; flex-direction:row; gap:10px; padding:0 28px 0 0; border:0; border-right:1px solid #EEDFDA; }
.guest-statistics .stat:last-child,.welcome-stats .stat:last-child { border-right:0; padding-right:0; }
.stat-number,.guest-statistics .stat-number { color:#905065; font:500 26px/1.15 var(--numeral); letter-spacing:-.6px; }
.stat-label,.guest-statistics .stat-label { color:#8C737B; font-size:12px; margin:0; }
.guest-access-note { color:#92777D; font-size:12px; margin:0; }
.ls-hero+.ls-stats-bar { margin-top:-6px; }
@media (min-width:761px) {
  .guest-portal .ls-stats-bar,.guest-portal .ls-statistics,.guest-portal .guest-welcome-side { padding:10px 20px; margin-bottom:17px; }
  .guest-portal .guest-statistics .stat-number { font-size:23px; }
  .guest-portal .guest-filters { margin-bottom:20px; }
  .guest-portal .guest-filters .search-row { padding-top:11px; padding-bottom:11px; }
  .guest-portal .guest-filters .filter-fields { padding-top:10px; padding-bottom:9px; }
  .guest-portal .guest-active-filters { min-height:0; padding-bottom:10px; }
  .guest-portal .guest-active-filters:empty { display:none; }
}

/* Discover: an airy photo gallery, followed by well-spaced, readable information. */
.filter-panel { border-color:#EFE3DE; background:#FFFDFC; border-radius:14px; box-shadow:0 5px 18px #9F697004; }
.search-row { border-color:#F0E6E0; }
.gender-tabs { background:#F9F1EC; border-radius:22px; padding:4px; gap:4px; }
.gender-tab { border-radius:18px; color:#8C6C76; font-size:13px; padding:8px 17px; }
.gender-tab.active { color:#fff; background:#C54A61; box-shadow:0 3px 8px #C54A611A; font-weight:500; }
.gender-tab.active:after { display:none; }
.search-box input { color:#61424F; background:#FCF7F2; border-color:#EEE2DA; font-size:13px; }
.search-box .icon { color:#B18C94; }
.guest-search button { color:#AC4E63; border-color:#E8D5D8; font-size:13px; }
.filter-cell label { color:#896E77; font-size:12px; }
.filter-cell select,.guest-filters .filter-cell select { color:#705862; border-color:#EBDFD9; background:#FFFCFA; min-height:42px; font-size:13px; }
.filter-toggle,.guest-more-toggle { color:#B1596E; font-size:13px; }
.filter-toggle .icon { color:#BE6D7F; }
.active-filters>span:not(.filter-chip),.guest-filter-caption { color:#937A80!important; font-size:12px!important; }
.filter-chip { color:#A8566B; background:#FBEAED; border-radius:6px; font-size:12px; }
.result-bar { margin-bottom:17px; min-width:0; }
.result-title,.guest-result-bar .result-title { color:#5C2C3F; font-size:23px; font-weight:600; }
.result-title span,.guest-result-bar .result-title span { color:#9B8088; font-size:12px; }
.sort-select,.guest-result-bar .sort-select { color:#92747D; font-size:12px; min-height:38px; }
.member-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.guest-member-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.member-card.ls-photo-card,.guest-member-card.ls-photo-card,.cp-member-card.ls-photo-card { padding:0; border:1px solid #EDE1DA; border-radius:13px; background:#FFFEFD; box-shadow:0 5px 20px #8F575D05; overflow:hidden; display:flex; flex-direction:column; min-width:0; }
.member-card.ls-photo-card:hover { transform:translateY(-3px); border-color:#E5C3C7; box-shadow:0 12px 27px #89505E0C; }
.ls-profile-visual { position:relative; width:100%; height:auto; aspect-ratio:1/1; flex:none; min-width:0; overflow:hidden; background-color:#E9D4D3; }
.ls-profile-visual>img,.ls-profile-visual>a>img,.ls-profile-image { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 35%; transition:transform .45s ease; }
.ls-photo-card:hover .ls-profile-visual>img { transform:scale(1.025); }
.ls-profile-visual:has(>img):after { content:""; position:absolute; inset:auto 0 0; height:48px; background:linear-gradient(0deg,#4229312E,#42293100); pointer-events:none; }
.ls-photo-disclaimer { position:absolute; left:11px; bottom:11px; z-index:2; background:#3E2E36AD; color:#fff; font-size:12px; line-height:1.5; border:1px solid #FFFFFF3D; border-radius:5px; padding:3px 7px; max-width:calc(100% - 22px); }
.ls-photo-badge,.ls-photo-count { position:absolute; top:12px; right:12px; z-index:2; display:inline-flex; align-items:center; gap:4px; color:#fff; background:#412D36A6; border:1px solid #FFFFFF26; border-radius:16px; padding:3px 9px; font-size:12px; line-height:1.5; }
.ls-photo-count .icon,.ls-photo-badge .icon { width:13px; height:13px; }
.ls-profile-visual>.favorite-btn { position:absolute; top:11px; right:11px; z-index:3; display:grid; place-items:center; width:36px; height:36px; margin:0; padding:8px; color:#D76070; border:1px solid #FFF6F1AD; border-radius:50%; background:#FFF9F2E6; }
.ls-profile-visual>.favorite-btn.selected { background:#E76B77; color:#fff; border-color:#E76B77; }
.ls-profile-visual>.favorite-btn.selected .icon { fill:#fff; }
.ls-profile-body { display:flex; flex-direction:column; min-width:0; flex:1; padding:20px 20px 0; }
.ls-photo-frame { position:relative; flex:none; min-width:0; overflow:hidden; }
.ls-photo-frame>.favorite-btn { position:absolute; z-index:3; top:12px; right:12px; margin:0; display:grid; place-items:center; width:36px; height:36px; border:1px solid #FFFFFF9C; border-radius:50%; padding:8px; color:#D36473; background:#FFFCF4E8; box-shadow:0 3px 10px #6C424614; }
.ls-photo-frame>.favorite-btn .icon { width:19px; height:19px; }
.ls-photo-frame>.favorite-btn.selected { color:#fff; border-color:#E97883; background:#E97883; }
.ls-photo-frame>.favorite-btn.selected .icon { fill:#fff; }
.ls-photo-title { display:flex; align-items:center; gap:8px; min-width:0; }
.ls-photo-title .member-name { flex:none; max-width:calc(100% - 70px); }
.ls-photo-age { font:400 17px/1.4 var(--numeral); color:#A1848D; margin-left:2px; white-space:nowrap; }
.ls-photo-title .gender-symbol { color:#CE849A; margin-left:auto; font-size:14px; }
.ls-photo-title .gender-symbol.male { color:#B291A8; }
.ls-photo-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:7px 0 13px; min-width:0; }
.ls-photo-meta .icon { width:14px; height:14px; color:#AF8995; flex:none; }
.ls-photo-meta i { font-style:normal; color:#C7ACB2; margin:0 1px; }
.ls-photo-meta span { overflow-wrap:anywhere; }
.ls-photo-details { display:flex; flex-wrap:wrap; gap:5px 10px; margin:0 0 15px; color:#A48B91; font-size:12px; line-height:1.6; }
.ls-photo-details span+span:before { content:"·"; margin-right:10px; color:#D3BFC0; }
.ls-photo-card .ls-photo-tags { margin-top:0; margin-bottom:12px; min-height:0; }
.ls-photo-empty { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; color:#B28292; background:radial-gradient(ellipse at 50% 37%,#FFF6F0 0 22%,transparent 67%),linear-gradient(145deg,#F4DCD5,#EBD8E1 58%,#F7E8D9); }
.ls-photo-empty>span { color:#AD8B93; font-size:13px; }
.ls-photo-empty .icon { width:58px; height:58px; color:#C097A2; stroke-width:1; }
.ls-profile-body .card-head,.ls-profile-body .lm-profile-head { margin:0 0 13px; gap:10px; }
.ls-profile-body .avatar { display:none; }
.ls-photo-card .member-name { font:600 20px/1.4 var(--sans); color:#492B37; letter-spacing:0; gap:7px; overflow-wrap:anywhere; }
.ls-profile-body .member-name .gender-symbol { font-size:13px; color:#B96B80; }
.ls-profile-body .member-name .gender-symbol.male { color:#9C788C; }
.ls-photo-card .member-meta,.ls-photo-card .lm-subline { font-size:12px; line-height:1.7; color:#977D85; margin-top:5px; }
.ls-photo-card .lm-subline span+span:before { content:"·"; margin:0 7px; color:#C1A8AA; }
.ls-profile-body .favorite-btn { background:#FDEDEC; color:#E6797C; border-radius:50%; min-width:35px; width:35px; height:35px; padding:8px; margin:0; }
.ls-profile-body .favorite-btn.selected { background:#FCE1E5; color:#C44E66; }
.ls-profile-body .favorite-btn.selected .icon { fill:#E87C89; }
.ls-profile-body .favorite-btn .icon { width:19px; height:19px; }
.ls-photo-card .lm-profile-facts { grid-template-columns:repeat(3,minmax(0,1fr)); padding:0 0 12px; border-bottom:1px solid #F2E9E3; gap:8px; margin-bottom:13px; }
.ls-photo-card.guest-member-card .lm-profile-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ls-photo-card .lm-profile-facts .fact { border:0; }
.ls-photo-card .lm-fact-label,.ls-photo-card .guest-summary-facts small { color:#A0838A; font-size:12px; line-height:1.5; margin-bottom:3px; }
.ls-photo-card .lm-fact-value,.ls-photo-card .guest-summary-facts strong { color:#785963; font-size:13px; font-weight:500; overflow-wrap:anywhere; line-height:1.5; }
.ls-photo-card .card-occupation,.ls-photo-card .lm-profession { color:#957882; font-size:13px; margin:0 0 12px; line-height:1.6; }
.ls-photo-card .card-occupation .icon { color:#BA9198; }
.ls-photo-card .lm-tags,.ls-photo-card .guest-summary-tags { min-height:0; gap:6px; margin:0 0 13px; align-content:flex-start; }
.ls-photo-card .tag,.ls-photo-card .tag.rose { color:#96775E; background:#F8F0E6; padding:3px 8px; border-radius:12px; font-size:12px; line-height:1.6; }
.ls-photo-card .tag:nth-child(3n+2) { color:#A26E80; background:#FAECEF; }
.ls-photo-card .tag:nth-child(3n) { color:#947E86; background:#F3EDF2; }
.ls-photo-card .lm-demo,.ls-photo-card .guest-demo-label { font-size:12px; color:#9B7863; background:#F9F1E5; }
.ls-photo-card .card-intro { color:#927781; font-size:13px; line-height:1.8; margin:0 0 15px; white-space:normal; min-height:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ls-photo-card .lm-card-footer,.ls-photo-card .card-footer { margin:auto -20px 0; padding:13px 17px; background:#FFFBF7; border-top:1px solid #F1E5DF; min-height:55px; gap:9px; }
.ls-photo-card .card-agency,.ls-photo-card .lm-source { color:#A17D86; font-size:12px; }
.ls-photo-card .lm-source small { color:#AD9096; font-size:12px; }
.ls-photo-card .lm-source strong { color:#94717B; font-size:12px; font-weight:400; }
.ls-photo-card .detail-btn { color:#B1556A; font-size:12px; gap:6px; }
.ls-photo-card .detail-btn .icon { width:14px; height:14px; }
.ls-photo-placeholder { display:flex; align-items:center; justify-content:center; flex-direction:column; width:100%; height:100%; gap:9px; background:radial-gradient(ellipse at 50% 40%,#FFF7F0 0 20%,transparent 65%),linear-gradient(140deg,#F2D8D6,#E6CED6 55%,#F8EADB); color:#B17888; }
.ls-photo-placeholder .icon { width:62px; height:62px; stroke-width:1; opacity:.75; }
.ls-photo-placeholder span { font-size:13px; color:#AA8390; }
.ls-photo-placeholder strong { font:500 45px/1 var(--romance-serif); color:#B08592; }
.page-btn { border-color:#EDDDD9; border-radius:9px; color:#9A7480; }
.page-btn.active { background:#C54A61; color:#fff; border-color:#C54A61; }
.demo-note,.guest-privacy-note,.footer-note,.guest-footer { color:#A18389; font-size:12px; }
.guest-privacy-note { margin-top:25px; line-height:1.9; }
.guest-footer { margin-top:30px; }
.guest-empty,.empty { background:#FFFDFA; border-color:#E7D6D4; }

/* Forms and service areas remain quiet, with champagne and rose to create depth. */
.panel,.rf-card,.cl-card,.cp-profile-panel { background:#FFFDFC; border-color:#EEE1DC; }
.browse-banner,.cp-boundary-note,.cp-interest-tip { color:#976D6C; background:#FFF3E7; border-color:#EDD9C6; }
.browse-icon,.browse-banner .btn { color:#AE7F63; background:#F7E4D3; }
.browse-banner strong { color:#91635E; }
.browse-banner p { color:#A78377; }
.notice,.modal-tip,.cp-review-note { background:#FFF4ED; border-color:#EEDBCB; color:#A07C70; }
.detail-facts { background:#FBF0E8; }
.detail-copy { color:#8A6974; }
.contact-card,.rf-rules,.rf-registration-note,.cl-policy,.cl-action-summary { background:#FCEFF0; border-color:#EED4D9; }
.price-panel { background:linear-gradient(140deg,#7E3B50,#A85A70 70%,#BE7886); border:1px solid #A66777; }
.price-panel h2 { color:#FFF7F1; }
.price-panel .annual-price { color:#FFF2DF; }
.price-panel .annual-price .period,.price-footnote,.price-caption { color:#ECD1CD; }
.upgrade-body { background:linear-gradient(145deg,#FFF8EE,#FAEBEA); }
.billing-operator { background:#FBF1E7; }
.success-strip { background:linear-gradient(110deg,#FFF5ED,#FFF0F1); border-color:#ECD5D7; }
.guest-login-mark { color:#D66D80; background:#FCE8EA; }
.guest-login-copy>p { color:#785361; }
.guest-login-copy>p.dim { color:#A1848D; }

/* Login belongs to the same photographic world as discovery. */
.auth-story,.rf-entry .auth-story { background:#F5E5DA url('/hero-background.png') center bottom/cover no-repeat; color:#693647; isolation:isolate; }
.auth-story:before { z-index:-1; inset:0; width:auto; height:auto; border:0; border-radius:0; box-shadow:none; background:linear-gradient(180deg,#FFF7EDEB,#FFF1DCCA 38%,#F4DCD3B8 70%,#F0CFC5C7); }
.auth-story:after { display:none; }
.auth-story .auth-visual { display:none; }
.auth-story .lm-wordmark { color:#592536; }
.auth-story .lm-brand-caption { color:#96737A; }
.auth-story .auth-quote h1 { font-family:var(--romance-serif); color:#5C2639; font-size:43px; line-height:1.6; font-weight:600; letter-spacing:2px; }
.auth-story .auth-quote p,.auth-story .auth-intro { color:#996F76; }
.auth-kicker,.auth-quote .eyebrow { color:#A36F7C; }
.auth-features .icon { color:#CC7883; }
.auth-features>span { color:#93636F; }
.auth-bottom { color:#9E7E80; }
.auth-main { background:#FFFCFA; }
.auth-box h2 { color:#532B3A; }
.auth-box>p { color:#947780; }
.auth-tabs { border-color:#EEDDD7; }
.auth-tabs button { color:#9C7B85; }
.auth-tabs button.active { color:#B14761; border-bottom-color:#E27480; }
.auth-box input,.auth-box select,.auth-box textarea { background:#FFFAF6; border-color:#EDDDD5; }
.auth-box input:focus,.auth-box select:focus,.auth-box textarea:focus { border-color:#DA9AA7; box-shadow:0 0 0 4px #FBECEE; }
.demo-buttons button { background:#F9EDE2; border-color:#EEDBCD; color:#9C735F; }
.sms-code-row .btn { color:#B25D72; background:#FAEBED; border-color:#EACCD3; }
.cp-companion { background:#FFF7F0; border-color:#EDD8D3; }
.cp-companion label:has(input:checked) { background:#FBE9EA; border-color:#E4AAB8; color:#AE4B64; }

/* A photograph is optional and always supplied by the account owner. */
.ls-photo-editor { display:grid; grid-template-columns:128px minmax(0,1fr); gap:13px 21px; padding:22px; border:1px solid #EDDED8; border-radius:13px; background:#FFFAF6; }
.ls-photo-editor-heading { grid-column:1/-1; display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 11px; }
.ls-photo-editor-heading h3 { font-size:16px; font-weight:600; color:#744352; }
.ls-photo-editor-heading p { color:#A07A85; font-size:12px; }
.ls-photo-editor-heading>span { margin-left:auto; font-size:12px; color:#B39888; }
.ls-photo-editor-preview { grid-column:1; grid-row:2/5; display:flex; align-items:center; justify-content:center; border:1px solid #EAD7D6; border-radius:9px; overflow:hidden; width:128px; height:160px; background:#F7EBE9; color:#B28D97; }
.ls-photo-editor-preview img { display:block; width:100%; height:100%; object-fit:cover; }
.ls-photo-editor-preview span { font-size:12px; color:#AE8A93; }
.ls-photo-editor-tools { display:flex; flex-wrap:wrap; align-items:center; gap:8px 15px; min-width:0; align-self:end; padding-top:7px; }
.ls-photo-editor-tools .btn { display:inline-flex; align-items:center; justify-content:center; margin:0; font-size:13px; min-height:39px; padding:8px 15px; cursor:pointer; }
.ls-photo-editor .ls-photo-select { position:relative; overflow:hidden; }
.ls-photo-editor .ls-photo-select input[type="file"] { position:absolute; width:1px; height:1px; min-height:0; padding:0; opacity:0; pointer-events:none; }
.ls-photo-editor .ls-photo-select:focus-within { outline:2px solid #CC7488; outline-offset:3px; }
.ls-photo-consent { display:flex; align-items:flex-start; gap:8px; color:#96747F; font-size:12px; line-height:1.8; }
.ls-photo-consent input { flex:none; margin-top:5px; width:15px; height:15px; min-height:0; padding:0; accent-color:#C96179; }
.ls-photo-feedback { min-height:19px; color:#A36075; font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.ls-photo-editor .ls-photo-feedback:empty { display:none; }

@media (min-width:1600px) {
  .guest-content,.guest-topbar-inner { max-width:1510px; }
  .ls-hero { min-height:390px; }
  .ls-hero-collage { height:390px; }
  .ls-hero-copy h1 { font-size:52px; }
  .ls-profile-visual { height:auto; aspect-ratio:1/1; }
  .ls-hero-compact { min-height:310px; }
  .ls-hero-compact .ls-hero-collage { height:310px; }
}
@media (max-width:1190px) {
  .guest-topbar-inner { gap:22px; }
  .ls-guest-nav { gap:25px; }
  .guest-entry-actions .btn { padding:9px 14px; }
  .guest-topbar .brand-caption { display:none; }
  .guest-content,.guest-topbar-inner { padding-left:30px; padding-right:30px; }
  .ls-hero { min-height:345px; }
  .ls-hero-copy { padding-left:31px; }
  .ls-hero-copy h1 { font-size:38px; }
  .ls-hero-copy>p { font-size:14px; max-width:330px; }
  .ls-hero-trust { gap:12px; }
  .ls-hero-collage { height:345px; }
  .ls-polaroid:nth-child(1) { width:57%; left:0; }
  .ls-polaroid:nth-child(2) { width:44%; right:-1%; }
  .ls-polaroid:nth-child(3) { right:0; }
  .ls-hero-compact { min-height:285px; }
  .ls-hero-compact .ls-hero-collage { height:285px; }
  .ls-hero-compact .ls-hero-copy { padding-left:27px; }
  .ls-hero-compact .ls-hero-copy h1,.ls-hero-compact .ls-hero-copy h2 { font-size:29px; }
  .ls-hero-compact .ls-hero-trust { gap:10px; }
  .ls-hero-compact .ls-hero-trust .icon { width:18px; height:18px; }
  .guest-member-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .member-grid:not(.guest-member-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ls-profile-visual { height:auto; aspect-ratio:1/1; }
}
@media (max-width:950px) and (min-width:761px) {
  .ls-guest-nav { gap:17px; }
  .ls-guest-nav button,.ls-guest-nav a { font-size:13px; }
  .guest-topbar .lm-wordmark { font-size:27px; }
  .guest-entry-actions { gap:7px; }
  .guest-entry-actions .btn { padding:8px 12px; font-size:12px; }
  .ls-hero-copy h1 { font-size:33px; }
  .guest-portal .ls-hero-copy h1 { font-size:33px; }
  .ls-hero-copy>p { font-size:13px; }
  .ls-hero-trust { gap:11px; font-size:12px; }
  .ls-hero-trust .icon { width:18px; height:18px; }
  .ls-hero-collage { height:330px; }
  .ls-hero-compact .ls-hero-trust { display:none; }
  .ls-hero-compact .ls-hero-copy h1,.ls-hero-compact .ls-hero-copy h2 { font-size:27px; }
  .guest-member-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ls-profile-visual { height:auto; aspect-ratio:1/1; }
  .guest-access-note { display:none; }
}
@media (max-width:760px) {
  .guest-topbar-inner { min-height:72px; padding:0 20px; gap:13px; }
  .guest-topbar .brand { gap:7px; }
  .guest-topbar .brand .brand-symbol { width:27px; height:27px; }
  .guest-topbar .lm-wordmark { font-size:27px; letter-spacing:1px; }
  .guest-topbar .lm-wordmark sup { font-size:9px; }
  .guest-topbar .brand-caption { display:none; }
  .guest-entry-actions { gap:7px; margin-left:auto; }
  .guest-entry-actions .btn { min-height:35px; font-size:12px; padding:7px 12px; border-radius:8px; }
  .guest-entry-actions .btn .icon { display:none; }
  .guest-browse-badge,.ls-guest-nav { display:none; }
  .guest-content { padding:17px 18px 38px; }
  .content { padding-left:18px; padding-right:18px; }
  .topbar { background:#FFFCFA; }
  .page-heading { gap:15px; flex-wrap:wrap; align-items:flex-start; }
  .page-heading h1 { font-size:27px; }
  .page-heading-actions { justify-content:flex-start; gap:8px; }
  .ls-hero,.ls-hero-compact { grid-template-columns:1fr; min-height:0; border-radius:17px; margin-bottom:20px; background-position:53% bottom; }
  .ls-hero:before { background:linear-gradient(180deg,#FFF7EDF2,#FFF5E6D9 39%,#FFEBD244 80%); }
  .ls-hero-copy,.ls-hero-compact .ls-hero-copy { padding:27px 25px 14px; }
  .ls-hero-eyebrow,.ls-hero-copy>.eyebrow { font-size:12px; letter-spacing:1.2px; margin-bottom:11px; }
  .ls-hero-copy h1,.ls-hero-copy h2,.ls-hero-compact .ls-hero-copy h1,.ls-hero-compact .ls-hero-copy h2 { font-size:35px; line-height:1.45; letter-spacing:.5px; }
  .ls-hero-copy>p,.ls-hero-compact .ls-hero-copy>p { font-size:13px; line-height:1.9; margin-top:11px; letter-spacing:.2px; max-width:none; }
  .ls-hero-cta,.ls-hero-compact .ls-hero-cta { font-size:14px; min-height:42px; margin-top:17px; padding:9px 22px; gap:13px; }
  .ls-hero-trust,.ls-hero-compact .ls-hero-trust { margin-top:17px; gap:12px 19px; font-size:12px; }
  .ls-hero-trust .icon { width:19px; height:19px; }
  .ls-hero-trust small { display:none; }
  .ls-hero-collage,.ls-hero-compact .ls-hero-collage { width:100%; height:242px; margin:1px 0 0; }
  .ls-polaroid { border-width:5px; border-radius:8px; }
  .ls-polaroid:nth-child(1) { width:47%; height:auto; left:9%; top:5%; transform:rotate(-6deg); }
  .ls-polaroid:nth-child(2) { width:36%; height:auto; top:1%; right:6%; transform:rotate(8deg); }
  .ls-polaroid:nth-child(3) { width:32%; height:auto; bottom:-13%; right:4%; transform:rotate(-5deg); }
  .ls-polaroid figcaption { font-size:12px; line-height:1.5; padding:7px 7px 6px; letter-spacing:0; }
  .ls-hero-note { right:9px; bottom:8px; font-size:12px; padding:2px 6px; }
  .ls-stats-bar,.ls-statistics,.guest-welcome-side,.welcome-stats { padding:15px 17px; gap:12px; margin-bottom:20px; border-radius:11px; }
  .ls-stats-bar .guest-statistics,.ls-statistics .guest-statistics,.guest-welcome-side .guest-statistics { width:100%; gap:0; justify-content:space-between; }
  .guest-statistics .stat,.welcome-stats .stat { flex-direction:column; align-items:center; flex:1; gap:5px; padding:0 10px; }
  .guest-statistics .stat:last-child,.welcome-stats .stat:last-child { padding-right:10px; }
  .stat-number,.guest-statistics .stat-number { font-size:25px; }
  .stat-label,.guest-statistics .stat-label { font-size:12px; }
  .guest-access-note { display:none; }
  .guest-filters .search-row,.search-row { padding:14px 16px; gap:12px; }
  .gender-tabs { padding:3px; }
  .gender-tab,.guest-filters .gender-tab { min-height:35px; font-size:12px; padding:7px 12px; }
  .filter-cell label,.guest-filters .filter-cell label { font-size:12px; }
  .filter-cell select,.guest-filters .filter-cell select { min-height:41px; font-size:13px; }
  .guest-filters .filter-fields,.filter-fields { gap:13px; padding:14px 16px; }
  .result-bar { align-items:flex-start; gap:10px; margin-bottom:15px; }
  .result-title,.guest-result-bar .result-title { font-size:21px; }
  .result-title span,.guest-result-bar .result-title span { display:block; font-size:12px; margin:5px 0 0; }
  .sort-select,.guest-result-bar .sort-select { max-width:134px; padding-right:19px; font-size:12px; }
  .member-grid,.guest-member-grid,.member-grid:not(.guest-member-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
  .member-card.ls-photo-card,.guest-member-card.ls-photo-card,.cp-member-card.ls-photo-card { border-radius:12px; }
  .ls-profile-visual { height:auto; aspect-ratio:1/1; }
  .ls-profile-body { padding:17px 17px 0; }
  .ls-photo-card .member-name { font-size:20px; }
  .ls-photo-card .member-meta,.ls-photo-card .lm-subline { font-size:12px; }
  .ls-photo-card .lm-profile-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .ls-photo-card .lm-profile-facts .fact:last-child:nth-child(3) { grid-column:1/-1; }
  .ls-photo-card .lm-fact-label { font-size:12px; }
  .ls-photo-card .lm-fact-value { font-size:13px; }
  .ls-photo-card .card-occupation,.ls-photo-card .lm-profession { font-size:12px; }
  .ls-photo-card .tag { font-size:12px; padding:3px 7px; }
  .ls-photo-card .card-intro { font-size:12px; }
  .ls-photo-card .lm-card-footer,.ls-photo-card .card-footer { margin:auto -17px 0; padding:12px 13px; }
  .ls-photo-card .lm-source { max-width:55%; }
  .ls-photo-card .lm-source small,.ls-photo-card .lm-source strong,.ls-photo-card .card-agency { font-size:12px; }
  .ls-photo-card .detail-btn { font-size:12px; }
  .ls-photo-disclaimer { font-size:12px; left:9px; bottom:9px; }
  .demo-note,.guest-privacy-note,.footer-note,.guest-footer { font-size:12px; }
  .auth-story,.rf-entry .auth-story { min-height:290px; background-position:center 61%; }
  .auth-story .auth-quote h1 { font-size:32px!important; line-height:1.5; letter-spacing:1px; }
  .auth-story .auth-quote p { font-size:13px; }
  .auth-features { gap:14px; }
  .ls-photo-editor { padding:17px; gap:12px 16px; grid-template-columns:108px minmax(0,1fr); }
  .ls-photo-editor-preview { width:108px; height:140px; }
  .ls-photo-editor-heading>span { margin-left:0; }
  .ls-photo-editor-tools { align-self:start; gap:8px; }
  .ls-photo-consent { grid-column:1/-1; }
  .ls-photo-feedback { grid-column:1/-1; }
  .ls-photo-editor-preview { grid-row:2; }
}
@media (max-width:560px) {
  .ls-hero-copy h1,.ls-hero-copy h2,.ls-hero-compact .ls-hero-copy h1,.ls-hero-compact .ls-hero-copy h2 { font-size:32px; }
  .ls-hero-trust { gap:12px 14px; }
  .ls-hero-trust>span,.ls-hero-trust>div { gap:5px; }
  .ls-hero-trust .icon { width:17px; height:17px; }
  .ls-hero-trust strong { font-size:12px; }
  .ls-hero-collage,.ls-hero-compact .ls-hero-collage { height:222px; }
  .member-grid,.guest-member-grid,.member-grid:not(.guest-member-grid) { grid-template-columns:1fr; gap:20px; }
  .ls-profile-visual { aspect-ratio:1/1; }
  .ls-profile-body { padding:20px 21px 0; }
  .ls-photo-card .member-name { font-size:22px; }
  .ls-photo-card .member-meta,.ls-photo-card .lm-subline { font-size:13px; }
  .ls-photo-card .lm-profile-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ls-photo-card .lm-profile-facts .fact:last-child:nth-child(3) { grid-column:auto; }
  .ls-photo-card .lm-fact-value { font-size:14px; }
  .ls-photo-card .card-occupation,.ls-photo-card .lm-profession,.ls-photo-card .card-intro { font-size:13px; }
  .ls-photo-card .lm-card-footer,.ls-photo-card .card-footer { margin:auto -21px 0; padding:14px 18px; }
  .ls-photo-card .detail-btn { font-size:13px; }
}
@media (max-width:390px) {
  .guest-topbar-inner { padding:0 16px; gap:8px; }
  .guest-topbar .lm-wordmark { font-size:25px; }
  .guest-topbar .brand .brand-symbol { width:25px; height:25px; }
  .guest-entry-actions .btn { padding:7px 10px; font-size:12px; }
  .guest-content,.content { padding-left:14px; padding-right:14px; }
  .ls-hero-copy,.ls-hero-compact .ls-hero-copy { padding:24px 21px 13px; }
  .ls-hero-copy h1,.ls-hero-copy h2,.ls-hero-compact .ls-hero-copy h1,.ls-hero-compact .ls-hero-copy h2 { font-size:29px; }
  .ls-hero-copy>p { font-size:13px; }
  .ls-hero-collage,.ls-hero-compact .ls-hero-collage { height:206px; }
  .ls-hero-trust { gap:10px 12px; }
  .ls-hero-trust .icon { width:16px; height:16px; }
  .ls-hero-trust strong { font-size:12px; }
  .ls-profile-body { padding:18px 19px 0; }
  .ls-photo-card .lm-card-footer,.ls-photo-card .card-footer { margin-left:-19px; margin-right:-19px; padding-left:16px; padding-right:16px; }
}
@media (prefers-reduced-motion:reduce) {
  .ls-photo-card,.ls-profile-visual>img { transition:none; }
  .member-card.ls-photo-card:hover,.ls-photo-card:hover .ls-profile-visual>img { transform:none; }
}

/* Discovery opens as a gallery; the detailed conditions remain one click away. */
#guest-discover,#member-grid,#cp-member-grid { scroll-margin-top:90px; }
.guest-filters .search-row { display:flex; flex-wrap:wrap; align-items:center; }
.guest-filters .guest-more-toggle { display:inline-flex; align-items:center; gap:6px; width:auto; min-height:40px; padding:8px 12px; margin:0; border-left:1px solid #EFE3DE; font-size:12px; }
.guest-filters:not(.guest-filters-expanded) .filter-fields { display:none; }
.guest-active-filters:not(:has(.filter-chip)) { display:none; }
.guest-filters-expanded .filter-fields { display:grid; }
.guest-filters-expanded .guest-extra-filter { display:block; }
.ls-how-steps { padding-left:22px; }
.ls-how-steps li { padding:8px 0 14px 7px; }
.ls-how-steps strong { color:#6D3C4B; font-size:16px; }
.ls-how-steps p { color:#8B737B; font-size:14px; line-height:1.8; margin-top:7px; }
@media (min-width:761px) {
  .ls-hero .ls-polaroid:nth-child(1) { width:42%; left:7%; top:5%; }
  .ls-hero .ls-polaroid:nth-child(2) { width:40%; right:3%; top:1%; }
  .ls-hero .ls-polaroid:nth-child(3) { width:32%; right:5%; top:auto; bottom:3%; }
  .ls-polaroid figcaption { padding:7px 8px; font-size:12px; line-height:1.5; }
}
@media (max-width:760px) {
  .guest-filters .guest-search { flex:1 1 190px; margin:0; }
  .guest-filters .gender-tabs { flex:1 1 100%; }
  .guest-filters .guest-more-toggle { flex:0 0 auto; padding:7px 0 7px 12px; }
  .ls-polaroid:nth-child(1) { width:44%; left:8%; top:5%; }
  .ls-polaroid:nth-child(2) { width:34%; right:8%; top:1%; }
  .ls-polaroid:nth-child(3) { width:29%; right:4%; top:auto; bottom:3%; }
}

/* Only owners see these brand image upload controls. */
.ls-brand-upload{display:flex;flex:1;align-self:stretch;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:100%;padding:8px;border:0;border-radius:inherit;background:transparent;color:inherit;font:inherit;cursor:pointer;box-sizing:border-box}.ls-brand-upload:focus-visible{outline:2px solid var(--wine,#ad5877);outline-offset:-3px}.logo-placeholder>.ls-brand-upload{padding:0;gap:0}
button.ls-profile-visual.ls-photo-empty{width:100%;border:0;text-align:left;cursor:pointer;font:inherit}button.ls-profile-visual.ls-photo-empty:focus-visible{outline:2px solid var(--wine-dark);outline-offset:-4px}
