:root {
  color-scheme: light;
  --green-950: #123d2b;
  --green-900: #174a34;
  --green-800: #216341;
  --green-700: #2e7a50;
  --green-600: #398f5d;
  --green-100: #eaf4ec;
  --green-50: #f4f8f3;
  --ink: #1c2921;
  --muted: #78847c;
  --line: #e7ece7;
  --white: #fff;
  --cream: #f7f6ef;
  --shadow: 0 12px 35px rgba(26, 59, 39, .07);
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--white);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 360px; min-height: 100vh; background: #fff; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #aad8b4; outline-offset: 2px; }
a { color: inherit; }
.boot { display: flex; align-items: center; justify-content: center; height: 100vh; gap: 10px; color: var(--green-900); font: 800 18px Manrope,sans-serif; }
.brand { display: inline-flex; gap: 10px; align-items: center; text-decoration: none; color: var(--green-950); font: 800 19px Manrope,sans-serif; letter-spacing: -.7px; }
.brand-mark { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 11px 11px 11px 4px; color: #fff; background: var(--green-800); font: 800 20px Manrope,sans-serif; }
.app-shell { min-height: 100vh; display: flex; background: #fff; }
.sidebar { width: 248px; flex: 0 0 248px; padding: 30px 18px 18px; border-right: 1px solid var(--line); display: flex; flex-direction: column; min-height: 100vh; background: #fff; }
.sidebar .brand { padding-left: 9px; margin-bottom: 54px; }
.sidebar-label, .eyebrow { font-size: 10px; letter-spacing: 1.3px; font-weight: 700; color: #87938a; }
.sidebar-label { padding: 0 12px; margin-bottom: 13px; }
.nav-list { display: grid; gap: 5px; }
.nav-item { width: 100%; min-height: 45px; border: 0; background: transparent; border-radius: 9px; display: flex; align-items: center; gap: 12px; padding: 0 12px; color: #657168; font-size: 13px; text-align: left; transition: .18s ease; }
.nav-item:hover { background: #f6f8f5; color: var(--green-900); }
.nav-item.active { background: var(--green-50); color: var(--green-900); font-weight: 700; }
.nav-item svg, .icon-button svg, .search-field svg, .member-city svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.nav-item em { margin-left: auto; background: var(--green-800); color: white; border-radius: 20px; min-width: 20px; height: 20px; display: grid; place-items: center; font-style: normal; font-size: 10px; }
.sidebar-bottom { margin-top: auto; }
.community-note { display: flex; gap: 10px; padding: 14px 11px; background: #f8faf7; border: 1px solid #edf1ec; border-radius: 11px; margin: 0 0 17px; }
.community-note .note-icon { color: var(--green-700); font-size: 17px; }
.community-note strong { display: block; font-size: 11px; color: var(--green-950); margin: 1px 0 5px; }
.community-note p { font-size: 10px; line-height: 1.55; margin: 0; color: #839087; }
.user-menu { display: flex; width: 100%; align-items: center; gap: 10px; border: 0; background: transparent; padding: 10px 5px; text-align: left; border-top: 1px solid var(--line); }
.avatar { width: 43px; height: 43px; flex: 0 0 43px; border-radius: 50%; display: inline-grid; place-items: center; font: 700 13px Manrope,sans-serif; color: var(--green-900); background: #e4efe3; }
.avatar-small { width: 34px; height: 34px; flex-basis: 34px; font-size: 11px; }
.avatar-large { width: 78px; height: 78px; font-size: 22px; flex-basis: 78px; }
.avatar.mint, .mint { background: #dcefe2; color: #286344; }
.avatar.lime, .lime { background: #edf0d8; color: #5b6828; }
.avatar.sage, .sage { background: #dce9e4; color: #3e6653; }
.avatar.sand, .sand { background: #f0e8d8; color: #83683e; }
.user-meta { display: grid; gap: 3px; min-width: 0; }
.user-meta strong { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.user-meta small { color: var(--muted); font-size: 10px; }
.signout-icon { margin-left: auto; color: #9aa59d; }
.main-area { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.topbar { height: 72px; padding: 0 48px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.breadcrumb { color: #8a958d; font-size: 11px; }
.breadcrumb span { padding: 0 8px; color: #c2c9c3; }
.topbar-right { display: flex; align-items: center; gap: 22px; }
.pilot-badge, .online-pill { color: #647269; background: #f6f8f5; border: 1px solid #edf1ed; border-radius: 20px; font-size: 10px; padding: 7px 10px; display: inline-flex; align-items: center; gap: 7px; }
.pilot-badge i, .online-pill i, .live-dot { width: 6px; height: 6px; background: #63a779; border-radius: 50%; display: inline-block; }
.icon-button { position: relative; width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: #6e7a71; }
.icon-button:hover { background: var(--green-50); }
.icon-button b { position: absolute; right: -2px; top: 0; min-width: 14px; height: 14px; display: grid; place-items: center; border-radius: 12px; color: white; background: #cf6b56; font-size: 9px; }
.content { width: min(1190px, 100%); margin: 0 auto; padding: 45px 48px 54px; flex: 1; }
.welcome-row { min-height: 222px; display: flex; align-items: center; justify-content: space-between; overflow: hidden; position: relative; }
.tiny-star { font-size: 14px; color: var(--green-700); vertical-align: -1px; margin-right: 4px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: Manrope, "DM Sans", sans-serif; color: var(--green-950); }
.welcome-row h1, .page-intro h1, .landing-hero h1 { font-size: clamp(34px, 4vw, 48px); line-height: 1.11; letter-spacing: -2.1px; font-weight: 700; margin: 12px 0 12px; }
.welcome-row h1 span, .landing-hero h1 span { color: var(--green-600); }
.lede { color: #78847b; font-size: 13px; line-height: 1.8; max-width: 480px; margin: 0; }
.welcome-art { position: relative; width: 295px; height: 220px; margin: -4px 45px 0 12px; flex: 0 0 295px; }
.art-circle { position: absolute; border-radius: 50%; border: 1px solid #e4eee5; }
.art-one { width: 185px; height: 185px; left: 60px; top: 17px; }
.art-two { width: 130px; height: 130px; left: 88px; top: 45px; border-style: dashed; }
.art-line { position: absolute; height: 1px; width: 215px; background: #e1ebe1; transform: rotate(32deg); top: 110px; left: 40px; }
.line-two { transform: rotate(-28deg); }
.art-dot { position: absolute; border-radius: 50%; width: 34px; height: 34px; display: grid; place-items: center; box-shadow: 0 6px 17px #dce9dc; font-size: 15px; }
.dot-one { top: 30px; left: 172px; color: white; background: var(--green-700); }
.dot-two { bottom: 28px; left: 73px; color: var(--green-800); background: #e1efe2; }
.art-card { position: absolute; width: 118px; height: 74px; top: 74px; left: 91px; border: 1px solid #e9eee8; border-radius: 13px; background: white; box-shadow: var(--shadow); padding: 14px; display: flex; justify-content: space-between; align-items: flex-start; color: var(--green-900); font: 700 12px/1.25 Manrope,sans-serif; }
.art-card b { color: var(--green-600); font-size: 19px; }
.stats-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 24px 0 43px; }
.stat-card { border: 1px solid var(--line); border-radius: 12px; padding: 17px 18px; display: flex; gap: 12px; align-items: center; min-height: 76px; }
.stat-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; font-size: 18px; }
.green-icon { background: #eaf3e9; color: var(--green-700); }
.cream-icon { background: #f7f2e8; color: #9b8250; }
.pale-icon { background: #eef1df; color: #79843e; }
.stat-card strong { display: block; font: 700 18px Manrope,sans-serif; color: var(--green-950); }
.stat-card small { font-size: 10px; color: #89938c; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 17px; }
.section-head h2 { font-size: 20px; letter-spacing: -.55px; margin: 6px 0 0; }
.result-count { display: inline-grid; place-items: center; vertical-align: 2px; margin-left: 4px; min-width: 20px; height: 20px; border-radius: 20px; padding: 0 5px; background: #eef4ee; color: var(--green-800); font: 700 10px "DM Sans",sans-serif; }
.directory-controls { display: flex; gap: 8px; }
.search-field { display: flex; align-items: center; gap: 8px; border: 1px solid #e3e9e3; border-radius: 8px; height: 36px; padding: 0 10px; color: #9ba69e; min-width: 210px; }
.search-field svg { width: 15px; height: 15px; }
.search-field input { border: 0; outline: none; min-width: 0; width: 100%; font-size: 10px; color: var(--ink); background: transparent; }
.search-field input::placeholder { color: #9ba69e; }
.directory-controls select { border: 1px solid #e3e9e3; color: #657168; border-radius: 8px; background: #fff; font-size: 10px; padding: 0 24px 0 10px; height: 36px; }
.member-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.member-card { padding: 18px 17px 15px; border: 1px solid var(--line); border-radius: 12px; background: white; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; min-width: 0; }
.member-card:hover { border-color: #d6e5d7; transform: translateY(-2px); box-shadow: var(--shadow); }
.card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.more-button { border: 0; background: transparent; color: #9aa49d; font-size: 19px; letter-spacing: 1px; line-height: 1; padding: 3px; }
.member-card h3 { font: 700 13px Manrope,sans-serif; color: var(--green-950); margin: 0 0 5px; }
.member-city { display: flex; align-items: center; gap: 4px; color: #88948b; font-size: 10px; }
.member-city svg { width: 12px; height: 12px; }
.member-bio { color: #78847b; font-size: 10.5px; line-height: 1.65; min-height: 51px; margin: 11px 0 10px; }
.tag-list { display: flex; flex-wrap: wrap; gap: 5px; min-height: 23px; }
.tag-list span { color: var(--green-800); background: #f1f6f0; padding: 5px 7px; border-radius: 5px; font-size: 9px; white-space: nowrap; }
.card-bottom { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #eff2ef; padding-top: 13px; margin-top: 12px; gap: 6px; }
.connect-button { border: 1px solid #d9e8db; border-radius: 7px; color: var(--green-800); background: #fff; padding: 7px 10px; font-size: 10px; font-weight: 700; transition: .15s; }
.connect-button:hover { background: var(--green-800); border-color: var(--green-800); color: white; }
.connect-button span { padding-left: 6px; font-size: 14px; vertical-align: -1px; }
.connect-button.sent { background: #f5f8f4; color: #78857c; border-color: #edf1ed; cursor: default; }
.connect-button.review { background: var(--green-800); color: white; }
.member-since { font-size: 7px; letter-spacing: .7px; color: #9ba69e; white-space: nowrap; }
.connected-label { color: var(--green-700); font-size: 10px; font-weight: 700; white-space: nowrap; }
.app-footer { border-top: 1px solid var(--line); padding: 16px 48px; display: flex; justify-content: space-between; gap: 15px; color: #9aa49d; font-size: 9px; }
.notice { margin-bottom: 20px; padding: 11px 14px; border-radius: 8px; font-size: 12px; display: flex; justify-content: space-between; align-items: center; }
.notice.success { color: #225b39; background: #edf7ee; border: 1px solid #d7ebda; }
.notice.error { color: #954736; background: #fff2ed; border: 1px solid #f3d6cc; }
.notice button { border: 0; background: transparent; color: inherit; font-size: 18px; }
.page-intro { margin: 20px 0 35px; }
.page-intro h1 { margin: 9px 0 9px; }
.connection-section { margin-bottom: 32px; }
.small-head { margin-bottom: 12px; }
.small-head h2 { font-size: 17px; }
.request-list { border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.request-row { min-height: 70px; padding: 12px 17px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #eff2ef; }
.request-row:last-child { border-bottom: 0; }
.request-info { display: grid; gap: 4px; flex: 1; }
.request-info strong { color: var(--green-950); font: 700 12px Manrope,sans-serif; }
.request-info small { color: #87938a; font-size: 10px; }
.primary-button, .outline-button { border-radius: 7px; border: 1px solid var(--green-800); padding: 10px 14px; background: var(--green-800); color: #fff; font-size: 11px; font-weight: 700; transition: .16s ease; }
.primary-button:hover { background: var(--green-950); border-color: var(--green-950); }
.primary-button span { margin-left: 9px; font-size: 14px; }
.primary-button:disabled { opacity: .55; cursor: wait; }
.outline-button { color: #68756c; border-color: #e2e8e2; background: #fff; }
.outline-button:hover { background: #f7f8f7; }
.compact { padding: 8px 11px; }
.empty-row { border: 1px dashed #e0e8e0; color: #8b968e; border-radius: 10px; padding: 19px; font-size: 11px; }
.status-chip { border-radius: 20px; background: #f5f6ee; color: #777f51; padding: 6px 9px; font-size: 9px; }
.empty-state { grid-column: 1 / -1; border: 1px dashed #dce7dc; border-radius: 12px; padding: 45px 20px; text-align: center; color: #849087; }
.empty-state > span { display: block; color: var(--green-600); font-size: 32px; margin-bottom: 7px; }
.empty-state h3 { color: var(--green-950); margin: 0 0 7px; font: 700 15px Manrope,sans-serif; }
.empty-state p { font-size: 11px; }
.text-button { border: 0; background: transparent; color: var(--green-700); font-size: 11px; font-weight: 700; }
.profile-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 20px; align-items: start; }
.profile-preview, .form-card { border: 1px solid var(--line); border-radius: 12px; padding: 24px; }
.profile-preview { text-align: center; background: #fafbf9; }
.profile-preview h2 { font-size: 18px; margin: 14px 0 5px; }
.profile-preview > p:not(.member-city) { font-size: 11px; line-height: 1.7; color: #79857c; }
.centered { justify-content: center; margin-top: 15px; }
.form-card { display: grid; gap: 15px; }
.form-heading h2 { font-size: 17px; margin: 0 0 5px; }
.form-heading p { color: #87938a; font-size: 10px; margin: 0; }
.form-card > label, .auth-form > label { position: relative; display: grid; gap: 7px; color: #445249; font-size: 10px; font-weight: 700; }
.form-card input, .form-card textarea, .auth-form input { width: 100%; border: 1px solid #e0e7e0; border-radius: 7px; padding: 10px 11px; font-size: 11px; background: #fff; color: var(--ink); resize: vertical; }
.form-card input::placeholder, .form-card textarea::placeholder, .auth-form input::placeholder { color: #b0b9b1; }
.field-count { position: absolute; right: 8px; bottom: 7px; color: #9aa59d; font-size: 9px; font-weight: 400; }
fieldset { border: 0; margin: 0; padding: 0; }
legend { font-size: 10px; font-weight: 700; color: #445249; margin-bottom: 9px; }
.interest-options { display: flex; flex-wrap: wrap; gap: 7px; }
.check-option { position: relative; }
.check-option input { position: absolute; opacity: 0; pointer-events: none; }
.check-option span { display: inline-block; padding: 7px 9px; color: #69766d; background: #f8faf7; border: 1px solid #e7ede7; border-radius: 6px; font-size: 9px; cursor: pointer; }
.check-option input:checked + span { border-color: #b7d3bc; color: var(--green-800); background: #edf6ee; }
.auth-shell { min-height: 100vh; padding: 28px 42px; background: #f9fbf8; }
.auth-shell > .brand { margin-bottom: 42px; }
.auth-card { width: min(475px, 100%); margin: 0 auto 50px; padding: 34px; border: 1px solid var(--line); background: white; border-radius: 15px; box-shadow: var(--shadow); }
.setup-card h1 { font-size: 27px; letter-spacing: -1.2px; margin: 11px 0; }
.setup-card .lede { font-size: 11px; margin-bottom: 23px; }
.setup-card .auth-form { display: grid; gap: 15px; }
.auth-icon { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; color: var(--green-800); background: #edf5eb; margin-bottom: 13px; }
.privacy-note { font-size: 9px; color: #95a097; text-align: center; line-height: 1.6; margin: 15px 0 0; }
.full { width: 100%; }
.demo-banner { min-height: 36px; padding: 8px 20px; text-align: center; color: #657168; background: #f1f6f0; border-bottom: 1px solid #e3ebe2; font-size: 10px; }
.demo-banner strong { color: var(--green-800); }
.demo-banner a { color: var(--green-800); margin-left: 8px; font-weight: 700; }
.top-join { padding: 8px 11px; font-size: 10px; }
.demo-cta { margin-top: 25px; border: 1px solid #dfeade; border-radius: 11px; padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; background: #f9fbf8; }
.demo-cta h3 { margin: 0 0 5px; color: var(--green-950); font: 700 15px Manrope,sans-serif; }
.demo-cta p { color: #87938a; font-size: 10px; margin: 0; }
.landing { min-height: 100vh; padding: 0 8.1%; background: #fff; }
.landing-nav { height: 83px; border-bottom: 1px solid #eff2ef; display: flex; justify-content: space-between; align-items: center; }
.landing-nav .brand { font-size: 20px; }
.nav-login { border: 0; background: transparent; color: var(--green-900); font-size: 11px; font-weight: 700; padding: 10px 2px 10px 12px; }
.nav-login span { margin-left: 9px; font-size: 15px; }
.landing-hero { display: grid; grid-template-columns: 1fr .9fr; min-height: 500px; align-items: center; gap: 25px; }
.landing-hero .eyebrow { display: flex; align-items: center; gap: 8px; }
.landing-hero h1 { font-size: clamp(42px, 5.8vw, 68px); letter-spacing: -3.5px; margin: 20px 0 16px; }
.landing-hero .lede { font-size: 14px; max-width: 450px; }
.hero-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 26px; }
.primary-button.large { padding: 14px 17px; font-size: 12px; }
.hero-caption { color: #909b92; font-size: 10px; }
.social-proof { display: flex; gap: 12px; align-items: center; color: #728077; font-size: 10px; margin-top: 32px; }
.avatar-stack { display: flex; padding-left: 3px; }
.avatar-stack .avatar { width: 28px; height: 28px; flex-basis: 28px; border: 2px solid #fff; margin-left: -5px; font-size: 8px; font-style: normal; }
.hero-visual { height: 370px; width: 100%; max-width: 490px; justify-self: end; position: relative; border: 1px solid #edf1ec; background: #fbfcfa; border-radius: 18px; overflow: hidden; }
.visual-top { display: flex; justify-content: space-between; align-items: center; padding: 19px 20px; }
.visual-top .eyebrow { font-size: 9px; }
.online-pill { font-size: 9px; background: white; }
.orbit { position: absolute; border-radius: 50%; border: 1px solid #e0e9df; left: 50%; top: 52%; transform: translate(-50%, -50%); }
.orbit-a { width: 240px; height: 240px; }
.orbit-b { width: 170px; height: 170px; border-style: dashed; }
.orbit-center { position: absolute; top: 52%; left: 50%; transform: translate(-50%, -50%); display: grid; justify-items: center; gap: 5px; }
.orbit-center .brand-mark { width: 43px; height: 43px; font-size: 26px; border-radius: 15px 15px 15px 5px; }
.orbit-center small { font: 700 7px/1.25 Manrope,sans-serif; letter-spacing: 1px; text-align: center; color: #79867d; }
.orbit-profile { display: flex; gap: 7px; align-items: center; position: absolute; padding: 6px 9px 6px 6px; border-radius: 30px; background: #fff; border: 1px solid #e8ede7; box-shadow: 0 4px 14px rgba(22,56,34,.07); }
.orbit-profile .avatar { width: 30px; height: 30px; flex-basis: 30px; font-size: 8px; }
.orbit-profile span:last-child { display: grid; gap: 2px; }
.orbit-profile b { color: var(--green-950); font: 700 9px Manrope,sans-serif; }
.orbit-profile small { color: #89948c; font-size: 8px; }
.p-a { left: 46px; top: 92px; }.p-b { right: 29px; top: 126px; }.p-c { left: 47px; bottom: 73px; }.p-d { right: 27px; bottom: 73px; }
.floating-note { position: absolute; bottom: 19px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 8px; background: white; padding: 9px 13px; border: 1px solid #edf0ed; border-radius: 9px; box-shadow: 0 4px 12px #e9eee8; white-space: nowrap; }
.floating-note > span { color: var(--green-700); font-size: 16px; }
.floating-note div { display: grid; gap: 2px; }.floating-note b { font: 700 9px Manrope,sans-serif; color: var(--green-900); }.floating-note small { font-size: 8px; color: #8b968e; }
.landing-values { padding: 32px 0 45px; border-top: 1px solid #eef2ee; border-bottom: 1px solid #eef2ee; display: grid; grid-template-columns: repeat(3,1fr); gap: 35px; }
.landing-values > div { padding: 0 20px; border-right: 1px solid #eef2ee; }.landing-values > div:last-child { border: 0; }
.value-icon { display: grid; place-items: center; width: 33px; height: 33px; border-radius: 9px; background: #eff6ef; color: var(--green-700); font-size: 16px; margin-bottom: 11px; }
.landing-values h3 { color: var(--green-950); font: 700 13px Manrope,sans-serif; margin: 0 0 6px; }
.landing-values p { color: #87938a; font-size: 10px; line-height: 1.6; margin: 0; max-width: 230px; }
.landing-footer { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; color: #929c94; font-size: 9px; }
.landing-footer i { color: var(--green-600); font-style: normal; padding: 0 4px; }
.landing-footer button { color: var(--green-800); border: 0; background: transparent; font-weight: 700; font-size: 10px; }
.modal-backdrop { position: fixed; z-index: 20; inset: 0; padding: 20px; background: rgba(20, 41, 28, .36); display: grid; place-items: center; }
.modal-backdrop[hidden] { display: none; }
.auth-modal { width: min(405px, 100%); position: relative; border-radius: 15px; border: 1px solid #e7ece7; background: white; padding: 30px; box-shadow: 0 20px 60px rgba(17,49,29,.19); }
.modal-close { position: absolute; top: 13px; right: 15px; width: 28px; height: 28px; border-radius: 50%; border: 0; background: #f6f8f5; color: #66736a; font-size: 20px; }
.auth-modal .eyebrow { margin-bottom: 7px; }
.auth-modal h2 { font-size: 22px; letter-spacing: -.8px; margin: 0 0 5px; }
.auth-modal > p:not(.terms-copy) { color: #849087; font-size: 10px; margin-bottom: 17px; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; background: #f5f7f4; border-radius: 8px; margin-bottom: 17px; }
.auth-tab { border: 0; border-radius: 6px; background: transparent; color: #77837a; padding: 9px; font-size: 10px; }
.auth-tab.active { background: white; box-shadow: 0 1px 4px rgba(20,50,30,.1); color: var(--green-900); font-weight: 700; }
.auth-form { display: grid; gap: 12px; }
.form-error { color: #a44737; font-size: 10px; min-height: 0; }
.terms-copy { color: #929c94; font-size: 9px; line-height: 1.65; margin: 15px 0 0; text-align: center; }
.terms-copy a { color: var(--green-700); }
.auth-form input { padding: 11px; font-size: 11px; }

/* IPO Circle v1: clean green and white community interface */
:root { --green-950:#073b24; --green-900:#075b31; --green-800:#078442; --green-700:#11964f; --green-600:#1eaa60; --green-100:#e6f5eb; --green-50:#f2faf4; --ink:#13231a; --muted:#607167; --line:#e4ece6; --shadow:0 10px 28px rgba(9,74,39,.07); }
.avatar.lime,.lime { background:#eaf7ee;color:#08763b; }.avatar.sand,.sand { background:#def2e4;color:#075b31; }
body { color:var(--ink); background:#fff; }
button { color:inherit; }
.site-header,.landing-header { height:76px; padding:0 max(28px,calc((100vw - 1360px)/2)); display:flex; align-items:center; gap:34px; background:#fff; border-bottom:1px solid #e8eee9; position:relative; z-index:5; }
.site-header .brand,.landing-header .brand { flex:none; color:#078442; }
.brand-mark { border-radius:50%; background:#078442; }
.site-nav,.landing-header nav { display:flex; align-items:center; justify-content:center; gap:28px; flex:1; height:100%; }
.site-link { height:100%; display:inline-flex; align-items:center; justify-content:center; padding:0 3px; color:#3e5146; background:transparent; border:0; border-bottom:2px solid transparent; font-size:12px; white-space:nowrap; }
.site-link:hover,.site-link.active { color:#078442; }
.site-link.active { border-bottom-color:#078442; font-weight:700; }
.header-actions,.landing-actions { display:flex; align-items:center; gap:17px; position:relative; }
.header-actions>.site-link { height:76px; }
.header-icon,.mobile-menu-button { position:relative; width:38px; height:38px; border:0; border-radius:50%; display:grid; place-items:center; background:#fff; color:#53645a; }
.header-icon:hover,.mobile-menu-button:hover { background:#eff8f1; color:#078442; }
.header-icon svg,.mobile-menu-button svg { width:18px;height:18px; }
.header-icon i { position:absolute; right:-2px; top:-2px; min-width:17px; height:17px; padding:0 4px; display:grid; place-items:center; border-radius:20px; color:#fff; background:#078442; font-size:9px; font-style:normal; }
.account-wrap { position:relative; }
.account-button { border:0; background:#fff; display:flex; align-items:center; gap:8px; font-size:11px; font-weight:600; }
.caret { color:#809087; }
.account-menu { position:absolute; right:0; top:48px; z-index:12; width:165px; padding:6px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:var(--shadow); }
.account-menu button { border:0; width:100%; padding:10px; border-radius:6px; background:#fff; text-align:left; font-size:11px; }
.account-menu button:hover { background:var(--green-50); color:var(--green-900); }
.mobile-menu-button { display:none; }
.workspace { width:min(1360px,100%); margin:0 auto; padding:34px 34px 24px; min-height:calc(100vh - 76px); }
.landing-page { max-width:1440px; margin:0 auto; padding:0 5%; }
.landing-header { padding:0; }
.landing-header nav { justify-content:center; }
.landing-header .site-link { height:76px; }
.landing-actions .nav-login { color:#075b31; }
.join-small { padding:10px 22px; }
.landing-hero { min-height:490px; display:grid; grid-template-columns:1.03fr .97fr; align-items:center; gap:34px; padding:44px 0 40px; }
.landing-copy .eyebrow { color:#547366; display:flex; align-items:center; gap:8px; }
.landing-copy h1 { max-width:660px; margin:18px 0 14px; color:#11251a; font:800 clamp(40px,5vw,64px)/1.07 Manrope,sans-serif; letter-spacing:-2.5px; }
.landing-copy h1 span,.discover-hero h1 span { color:#078442; }
.landing-lede { max-width:530px; color:#64736a; font-size:15px; line-height:1.65; }
.landing-cta { display:flex; gap:12px; margin:26px 0 25px; }
.large { padding:13px 18px; }
.primary-button svg,.outline-button svg,.connect-button svg,.text-action svg,.back-link svg,.send-button svg { width:15px;height:15px; vertical-align:middle; }
.trust-strip,.community-banner { display:flex; align-items:center; gap:13px; border:1px solid #e2f1e6; background:#eff9f2; color:#0a6334; border-radius:12px; }
.trust-strip { max-width:620px; padding:13px 15px; }
.trust-strip>svg,.community-banner>svg { flex:none; width:27px;height:27px; }
.trust-strip span { display:grid; gap:4px; }
.trust-strip strong,.community-banner strong { font-size:11px; }
.trust-strip small { color:#557466; font-size:10px; line-height:1.5; }
.landing-art { height:370px; position:relative; overflow:hidden; border-radius:0; background:#f4faf5; border:1px solid #e9f3ec; }
.landing-art::before { content:""; position:absolute; width:280px;height:280px;left:50%;top:48%;transform:translate(-50%,-50%); border:1px solid #dceee1;border-radius:50%; }
.art-bubble { position:absolute; z-index:2; width:64px;height:50px;display:grid;place-items:center;border-radius:16px;background:#ddf3e4;color:#138b49;font-size:22px; }
.bubble-a { left:15%;top:16%; }.bubble-b { right:18%;top:13%; }
.art-plant { position:absolute; bottom:65px; width:75px;height:150px;border-left:3px solid #8bd4a1; opacity:.65; }
.plant-one { left:9%;transform:rotate(-20deg); }.plant-two { right:10%;transform:rotate(22deg); }
.art-plant::before,.art-plant::after { content:"";position:absolute;width:33px;height:17px;border-radius:100% 0 100% 0;background:#8bd4a1;left:-33px;top:35px;transform:rotate(-20deg);box-shadow:30px 40px 0 #a6dfb5; }
.art-plant::after { left:3px;top:65px;transform:rotate(28deg) scaleX(-1); }
.people-scene { position:absolute; left:18%;right:15%;bottom:24px;height:220px;display:flex;align-items:flex-end;justify-content:center;gap:11px; }
.scene-person { position:relative;width:28%;height:170px;max-width:125px;border-radius:55px 55px 8px 8px;background:#168749; }
.scene-person:nth-child(2) { height:195px;background:#086635; }
.scene-person:nth-child(3) { background:#51b878; }
.scene-person i { position:absolute; z-index:1;left:50%;top:-40px;transform:translateX(-50%);width:67px;height:75px;border-radius:48% 48% 44% 44%;background:#f0c4a2;border:5px solid #14261c; }
.scene-person b { position:absolute;z-index:2;left:50%;top:77px;transform:translateX(-50%);width:52px;height:20px;border-radius:40%;background:#13251a; }
.person-one i { background:#f0bd9c; }.person-one b { width:65px;height:24px; }.person-two i { background:#c8845f; }.person-three i { background:#e4ae89; }
.art-caption { position:absolute;bottom:12px;left:0;right:0;text-align:center;color:#506d5b;font-size:9px;letter-spacing:1.3px;font-weight:700; }
.art-caption span { margin-left:10px;color:#078442; }
.how-section { padding:38px 0 44px; border-top:1px solid #e8efe9; }
.section-kicker { color:#078442;font-size:10px;font-weight:700;letter-spacing:1.1px; }
.how-section>h2 { margin:8px 0 24px;color:#13231a;font-size:27px;letter-spacing:-.8px; }
.how-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px; }
.how-grid article { position:relative;min-height:126px;padding:19px 17px 17px 70px;border:1px solid var(--line);border-radius:11px;background:#fff; }
.how-grid article>span { position:absolute;left:15px;top:16px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#078442;font-weight:700;font-size:12px; }
.how-icon { position:absolute;left:15px;top:55px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;color:#078442;background:#eaf7ee; }
.how-icon svg { width:19px;height:19px; }
.how-grid h3 { margin:4px 0 6px;color:#13231a;font-size:13px; }
.how-grid p { margin:0;color:#718077;font-size:10px;line-height:1.55; }
.landing-values { grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px;padding:18px 0 0;border:0; }
.landing-values>div { border:0;display:flex;align-items:center;gap:9px;padding:0;color:#5c7164;font-size:10px; }
.landing-values>div::before { content:"✓";width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#edf7ef;color:#078442;font-weight:800; }
.landing-footer { border-top:1px solid var(--line); }
.discover-hero { min-height:200px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative;margin:0 0 20px; }
.discover-hero h1 { margin:8px 0;color:#10231a;font:800 clamp(34px,4vw,48px)/1.1 Manrope,sans-serif;letter-spacing:-1.7px; }
.discover-hero p { margin:0;color:#68776e;font-size:13px; }
.discover-art { position:relative;width:330px;height:195px;flex:none;margin-right:35px;background:#f1faf3;border-radius:52% 48% 0 0;overflow:hidden; }
.discover-art .people-scene { left:16%;right:12%;bottom:0;height:150px; }.discover-art .scene-person { height:122px; }.discover-art .scene-person:nth-child(2) { height:140px; }.discover-art .scene-person i { width:49px;height:55px;top:-27px;border-width:4px; }.discover-art .scene-person b { top:57px;width:42px; }
.discover-art .art-bubble { right:20%;top:15%;width:45px;height:35px; }
.directory-search { display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(150px,.8fr) minmax(170px,.9fr);gap:10px;margin:10px 0 15px; }
.directory-search .search-field,.filter-select { height:42px;border:1px solid #dfe8e1;border-radius:8px;padding:0 13px;display:flex;align-items:center;gap:9px;background:#fff;color:#718077; }
.directory-search .search-field svg,.filter-select svg { width:17px;height:17px;color:#078442; }
.directory-search input,.filter-select select { width:100%;min-width:0;border:0;outline:0;background:#fff;color:#47594e;font-size:11px; }
.filter-select select { appearance:auto; }
.tag-icon { color:#078442;font-size:18px; }
.community-banner { padding:14px 17px;margin:14px 0 24px; }
.community-banner div { display:grid;gap:4px; }.community-banner p { margin:0;color:#587367;font-size:10px;line-height:1.55; }
.members-heading { display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 0 14px; }
.members-heading h2 { margin:0;color:#15251c;font-size:19px;letter-spacing:-.4px; }
.members-heading p { margin:5px 0 0;color:#829087;font-size:10px; }
.sort-label { display:flex;align-items:center;gap:9px;color:#7a897f;font-size:10px; }
.sort-label select { border:1px solid var(--line);border-radius:7px;height:34px;padding:0 9px;background:#fff;color:#4c5e53;font-size:10px; }
.member-grid { grid-template-columns:repeat(4,minmax(0,1fr));gap:11px; }
.member-card { padding:16px 14px 12px; }
.card-profile { width:100%;padding:0;border:0;background:#fff;text-align:left; }
.avatar-xl { width:55px;height:55px;flex-basis:55px;font-size:16px; }
.profile-label { display:block;margin-top:8px;color:#078442;font-size:8px;font-weight:700;letter-spacing:.6px; }
.member-card h3 { margin:4px 0 5px;font-size:12px; }
.member-city { display:flex;align-items:center;gap:4px; }
.member-bio { margin:9px 0;min-height:46px;font-size:10px;line-height:1.5; }
.tag-list { gap:5px; }
.tag-list i { font-style:normal;color:#486457;background:#edf4ef;padding:5px 7px;border-radius:15px;font-size:8px;white-space:nowrap; }
.card-bottom { margin-top:10px;padding-top:10px; }
.connect-button { display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:34px;border-radius:7px;color:#fff;background:#078442;border-color:#078442;font-size:10px; }
.connect-button:hover { background:#056b35;color:#fff; }
.connect-button.sent { color:#536a5d;background:#edf2ee;border-color:#edf2ee; }
.connect-button.connected { background:#e5f5e9;color:#08763b;border-color:#e5f5e9; }
.empty-state { padding:42px 20px; }
.empty-state>svg { width:28px;height:28px;margin-bottom:8px; }
.back-link { display:inline-flex;align-items:center;gap:8px;margin:5px 0 18px;padding:5px 0;border:0;background:#fff;color:#4f6859;font-size:11px; }
.member-detail { max-width:900px;border:1px solid var(--line);border-radius:14px;padding:30px;background:#fff;box-shadow:var(--shadow); }
.detail-top { display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:start; }
.avatar-xxl { width:94px;height:94px;flex-basis:94px;font-size:25px; }
.detail-copy .profile-label { margin:3px 0 5px; }
.detail-copy h1 { margin:0 0 5px;font-size:26px;letter-spacing:-.8px; }
.detail-copy>p:not(.member-city) { margin:13px 0;color:#66786d;font-size:12px;line-height:1.7; }
.detail-copy .tag-list { margin-top:14px; }
.detail-actions { display:flex;gap:9px;margin-top:23px;padding-top:19px;border-top:1px solid var(--line); }
.detail-actions button { display:flex;align-items:center;gap:7px; }
.page-heading { display:flex;align-items:center;justify-content:space-between;margin:4px 0 22px; }
.page-heading h1 { margin:6px 0;color:#10231a;font-size:34px;letter-spacing:-1px; }
.page-heading p { margin:0;color:#75847b;font-size:12px; }
.connections-page { max-width:1320px; }
.connections-hero { display:flex;justify-content:space-between;align-items:center;min-height:150px;padding:18px 0; }
.connections-hero h1,.message-side-heading h1,.profile-page h1,.settings-page h1,.info-page h1 { color:#10231a;font:800 34px/1.1 Manrope,sans-serif;letter-spacing:-1px;margin:7px 0; }
.connections-hero p,.message-side-heading p { color:#75847b;font-size:12px;margin:0; }
.connections-tabs { display:flex;gap:6px;margin:7px 0 21px;padding:5px;background:#f4f8f5;border-radius:9px;width:max-content;max-width:100%; }
.connections-tabs button { border:0;border-radius:7px;background:transparent;color:#52645a;padding:10px 15px;font-size:10px;white-space:nowrap; }
.connections-tabs button.active { background:#078442;color:#fff;font-weight:700; }
.connection-list { display:grid;gap:9px; }
.connection-card { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff; }
.avatar-lg { width:52px;height:52px;flex-basis:52px;font-size:14px; }
.connection-person strong { color:#1a2a20;font-size:12px; }.connection-person p { color:#6c7c72;font-size:10px;line-height:1.45;margin:6px 0 0; }
.connection-age { align-self:start;color:#8c9990;font-size:9px;white-space:nowrap; }
.connection-actions { display:flex;align-items:center;gap:7px;grid-column:3; }
.small-button { display:flex;align-items:center;gap:5px;padding:7px 10px;font-size:9px; }
.quiet-chip { color:#667a6d;background:#f1f5f2;border-radius:20px;padding:6px 9px;font-size:9px;white-space:nowrap; }
.messages-page { height:min(700px,calc(100vh - 145px));min-height:520px;display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff; }
.message-sidebar { display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line); }
.message-side-heading { padding:22px 18px 14px; }.message-side-heading h1 { font-size:25px; }
.message-sidebar>.search-field { margin:0 14px 12px;height:39px; }
.conversation-list { min-height:0;overflow:auto; }
.conversation-item { width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;border:0;border-top:1px solid #eff3ef;background:#fff;text-align:left; }
.conversation-item:hover,.conversation-item.active { background:#eff8f2; }
.conversation-item .avatar { width:41px;height:41px;flex-basis:41px;font-size:11px; }
.conversation-copy { min-width:0;display:grid;gap:5px;flex:1; }.conversation-copy strong { font-size:10px; }.conversation-copy small { color:#75847b;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.conversation-item time { color:#87948b;font-size:8px;white-space:nowrap; }
.empty-conversations { padding:30px 18px;text-align:center;color:#77857b; }.empty-conversations h3 { color:#24372b;font-size:13px; }.empty-conversations p { font-size:10px;line-height:1.5; }
.chat-panel { min-width:0;display:flex;flex-direction:column; }
.chat-header { height:65px;display:flex;align-items:center;gap:10px;padding:0 17px;border-bottom:1px solid var(--line); }
.chat-header .avatar { width:39px;height:39px;flex-basis:39px;font-size:11px; }
.chat-person { display:grid;gap:4px;flex:1; }.chat-person strong { font-size:11px; }.chat-person small { color:#7b897f;font-size:9px; }
.chat-tools { display:flex;gap:9px; }.text-action { display:inline-flex;align-items:center;gap:5px;padding:6px;border:0;background:transparent;color:#64766b;font-size:9px; }
.text-action:hover { color:#078442; }
.safety-reminder { display:flex;align-items:center;gap:9px;margin:11px 14px;padding:10px 12px;background:#eff8f2;border-radius:8px;color:#267047;font-size:9px;line-height:1.45; }
.safety-reminder>svg { flex:none;width:17px;height:17px; }.safety-reminder span { flex:1; }.safety-reminder button { border:0;background:transparent;color:#6b8976;font-size:17px; }
.chat-scroll { flex:1;overflow-y:auto;padding:18px 18px 8px;background:#fff; }
.message-row { display:flex;margin:8px 0; }.message-row.own { justify-content:flex-end; }
.message-bubble { max-width:min(75%,480px);padding:10px 12px;border-radius:10px 10px 10px 3px;background:#f0f4f1;color:#314239;font-size:10px;line-height:1.5;overflow-wrap:anywhere; }
.message-row.own .message-bubble { border-radius:10px 10px 3px 10px;background:#e5f6eb;color:#154c2b; }
.message-bubble time { display:block;margin-top:5px;color:#829087;font-size:8px;text-align:right; }
.chat-empty,.chat-placeholder { display:grid;place-content:center;justify-items:center;gap:9px;flex:1;text-align:center;color:#839087; }.chat-empty>span svg,.chat-placeholder>svg { width:28px;height:28px;color:#078442; }.chat-empty h3,.chat-placeholder h2 { margin:0;color:#24372b;font-size:14px; }.chat-empty p,.chat-placeholder p { margin:0;max-width:300px;font-size:10px; }
.composer { display:flex;align-items:end;gap:8px;padding:12px 14px;border-top:1px solid var(--line); }
.composer-input { flex:1; }.composer textarea { width:100%;max-height:100px;resize:vertical;border:1px solid #dfe8e1;border-radius:8px;padding:11px;font-size:10px;outline:none; }.send-button { width:39px;height:39px;border:0;border-radius:8px;background:#078442;color:#fff; }
.mobile-back { display:none; }
.profile-edit-layout { display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:22px;align-items:start; }
.profile-form-card,.profile-promo,.quick-actions,.settings-card { border:1px solid var(--line);border-radius:12px;background:#fff;padding:20px; }
.form-section-title { display:flex;align-items:center;gap:15px;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:18px; }.form-section-title h2 { margin:0 0 5px;font-size:16px; }.form-section-title p { margin:0;color:#76857b;font-size:10px; }
.profile-form { display:grid;gap:15px; }.profile-form>label { position:relative;display:grid;gap:7px;color:#3b5043;font-size:10px;font-weight:700; }.profile-form input,.profile-form textarea { width:100%;border:1px solid #dfe8e1;border-radius:7px;padding:10px;font-size:11px;color:#1a2b20;background:#fff; }.profile-form textarea { resize:vertical; }.profile-form legend { font-size:10px; }.profile-side { display:grid;gap:14px; }.profile-promo { overflow:hidden;background:#eff8f1; }.profile-promo h3 { margin:8px 0;color:#0c6234;font-size:14px; }.profile-promo p { margin:0;color:#5d7767;font-size:10px;line-height:1.55; }.small-scene { position:relative;left:auto;right:auto;bottom:auto;width:100%;height:125px;margin:10px 0 3px; }.small-scene .scene-person { height:86px; }.small-scene .scene-person:nth-child(2) { height:100px; }.small-scene .scene-person i { width:39px;height:45px;top:-22px;border-width:3px; }.small-scene .scene-person b { top:42px;width:35px; }
.vertical-banner { align-items:flex-start; }.quick-actions { display:grid;gap:7px; }.quick-actions h3 { margin:0 0 3px;font-size:13px; }.quick-actions button { display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #edf2ee;border-radius:7px;background:#fff;text-align:left;font-size:10px; }.quick-actions svg { width:16px;height:16px;color:#078442; }
.settings-layout { display:grid;grid-template-columns:220px 1fr;gap:20px; }.settings-nav { display:grid;align-content:start;gap:4px; }.settings-nav button { display:flex;align-items:center;gap:9px;text-align:left;padding:11px;border:0;border-radius:7px;background:#fff;color:#5b6d62;font-size:10px; }.settings-nav button.active,.settings-nav button:hover { background:#edf7ef;color:#08763b; }.settings-nav svg { width:16px;height:16px; }.settings-nav button:last-child { color:#a1493e; }
.settings-content { display:grid;gap:14px; }.settings-card { display:grid;gap:0;padding:0 18px; }.settings-row { display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #edf2ee; }.settings-row:last-child { border:0; }.settings-row>div { flex:1; }.settings-icon { width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#edf7ef;color:#078442; }.settings-icon svg { width:17px;height:17px; }.settings-row strong { font-size:11px; }.settings-row p,.danger-card p { margin:4px 0 0;color:#78867d;font-size:9px;line-height:1.5; }.settings-note { display:flex;gap:10px;padding:13px;background:#eff8f2;color:#22633b;border-radius:8px; }.settings-note svg { flex:none;width:19px;height:19px; }.settings-note p { margin:0;font-size:9px;line-height:1.55; }.danger-card { display:flex;align-items:center;justify-content:space-between;padding:17px; }.danger-card h3 { margin:0;font-size:12px;color:#9d4337; }
.info-page { width:min(1000px,100%);min-height:calc(100vh - 170px);margin:0 auto;padding:55px 20px 65px; }.info-page h1 { font-size:40px; }.info-lede { color:#708077;font-size:13px;margin:0 0 27px; }
.safety-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }.safety-grid article { padding:19px;border:1px solid var(--line);border-radius:10px; }.safety-grid article>svg { width:24px;height:24px;color:#078442; }.safety-grid h3 { margin:12px 0 6px;font-size:13px; }.safety-grid p,.guidelines-list p { margin:0;color:#718077;font-size:10px;line-height:1.6; }.safety-callout { margin-top:15px;padding:18px;border-radius:10px;background:#eff8f2;color:#0b6938;font-size:12px; }.safety-callout p { margin:6px 0 0;color:#577467;font-size:10px; }
.guidelines-list { display:grid;gap:9px; }.guidelines-list article { display:flex;gap:15px;padding:15px;border:1px solid var(--line);border-radius:9px; }.guidelines-list article>span { flex:none;color:#078442;font-weight:700;font-size:11px; }.guidelines-list h3 { margin:0 0 5px;font-size:12px; }
.modal-actions { display:flex;justify-content:flex-end;gap:8px;margin-top:18px; }.report-modal select,.report-modal textarea { width:100%;padding:10px;border:1px solid #dfe8e1;border-radius:7px;background:#fff;font-size:11px; }.password-wrap { display:flex; }.password-wrap input { flex:1; }.password-wrap button { border:1px solid #dfe8e1;border-left:0;border-radius:0 7px 7px 0;padding:0 10px;background:#f8faf8;color:#567062;font-size:10px; }
.auth-prototype-note { color:#829087;font-size:9px;text-align:center;line-height:1.5;margin:13px 0 0; }.auth-brand { margin-bottom:16px; }.mobile-sheet { display:none; }.mobile-bottom-nav { display:none; }
.notice { margin:0 0 18px; }
.connections-summary { display:flex;align-items:center;justify-content:space-between;margin:0 0 12px; }.connections-summary h2 { margin:0 0 5px;font-size:15px;color:#16271d; }.connections-summary p { margin:0;color:#78867d;font-size:10px; }
.demo-tag { display:inline-block;margin-left:7px;padding:3px 6px;border-radius:10px;background:#e8f6ec;color:#078442;font-size:8px; }
.connection-person .member-city { margin-top:5px;font-size:9px; }
.connection-person .member-city svg { width:12px;height:12px;color:#078442; }
.connection-empty { margin:0; }
.detail-note { display:flex;align-items:center;gap:8px;margin-top:17px;padding:12px;border-radius:8px;background:#eff8f2;color:#24613b;font-size:10px; }.detail-note svg { width:17px;height:17px; }
.page-heading.compact-heading { margin:0 0 22px; }
@media(max-width:1100px) { .site-header { gap:20px;padding:0 22px; }.site-nav { gap:16px; }.header-actions { gap:10px; }.site-link { font-size:10px; }.workspace { padding:25px 22px; }.member-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:820px) { .site-header,.landing-header { height:64px;padding:0 17px;gap:10px; }.site-nav { display:none; }.header-actions { margin-left:auto; }.header-actions>.site-link,.header-icon,.account-button>span:not(.avatar):not(.caret) { display:none; }.mobile-menu-button { display:grid; }.workspace { padding:24px 17px 88px; }.landing-page { padding:0 20px; }.landing-header nav { display:none; }.landing-actions { margin-left:auto; }.landing-hero { grid-template-columns:1fr;min-height:0;padding:45px 0 26px;gap:24px; }.landing-copy h1 { font-size:44px; }.landing-art { height:300px; }.people-scene { height:175px; }.landing-art .scene-person { height:137px; }.landing-art .scene-person:nth-child(2) { height:157px; }.landing-art .scene-person i { width:55px;height:62px;top:-34px; }.landing-art .scene-person b { top:61px; }.how-section>h2 { font-size:22px; }.how-grid { gap:9px; }.how-grid article { padding:16px 12px 14px 58px; }.how-grid article>span,.how-icon { left:12px; }.discover-hero { min-height:160px; }.discover-art { width:230px;height:150px;margin-right:0; }.discover-art .people-scene { height:110px; }.discover-art .scene-person { height:90px; }.discover-art .scene-person:nth-child(2) { height:100px; }.discover-art .scene-person i { width:38px;height:44px;top:-20px;border-width:3px; }.discover-art .scene-person b { top:41px;width:32px; }.directory-search { grid-template-columns:1fr 1fr; }.directory-search .search-field { grid-column:1/-1; }.member-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.messages-page { height:calc(100vh - 160px);min-height:480px;grid-template-columns:270px 1fr; }.chat-tools { gap:2px; }.chat-tools .text-action { font-size:0; }.chat-tools .text-action svg { width:17px;height:17px; }.profile-edit-layout { grid-template-columns:1fr; }.profile-side { grid-template-columns:1fr 1fr; }.profile-side .quick-actions { grid-column:1/-1; }.settings-layout { grid-template-columns:1fr; }.settings-nav { display:flex;overflow:auto; }.settings-nav button { white-space:nowrap; }.mobile-bottom-nav { position:fixed;z-index:10;bottom:0;left:0;right:0;height:64px;display:flex;justify-content:space-around;align-items:center;border-top:1px solid var(--line);background:#fff;padding-bottom:env(safe-area-inset-bottom); }.mobile-bottom-nav button { display:grid;justify-items:center;gap:3px;min-width:65px;border:0;background:#fff;color:#78867d;font-size:9px; }.mobile-bottom-nav svg { width:19px;height:19px; }.mobile-bottom-nav button.active { color:#078442;font-weight:700; }.mobile-sheet { position:fixed;z-index:30;inset:0 0 auto;padding:75px 22px 25px;background:#fff;box-shadow:0 10px 35px #123d2b22;display:grid;gap:3px; }.mobile-sheet>button:not(:first-child) { border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;padding:14px 3px;font-size:12px; }.mobile-sheet>button:first-child { position:absolute;right:16px;top:15px;border:0;background:#fff;font-size:25px;color:#607167; }.mobile-sheet .site-link { height:auto;justify-content:flex-start; }.info-page { padding:38px 20px 60px;min-height:calc(100vh - 140px); } }
@media(max-width:560px) { .landing-page { padding:0 17px; }.landing-header { padding:0; }.landing-header nav { display:none; }.landing-actions { gap:8px; }.landing-actions .nav-login { font-size:10px; }.join-small { padding:9px 14px; }.landing-copy h1 { font-size:39px;letter-spacing:-1.7px; }.landing-lede { font-size:12px; }.landing-cta { gap:8px; }.landing-cta button { font-size:10px; }.trust-strip { align-items:flex-start;padding:11px; }.trust-strip small { font-size:9px; }.landing-art { height:245px; }.landing-art::before { width:200px;height:200px; }.people-scene { left:11%;right:11%;height:140px; }.landing-art .scene-person { height:108px; }.landing-art .scene-person:nth-child(2) { height:122px; }.landing-art .scene-person i { width:43px;height:48px;top:-26px;border-width:3px; }.landing-art .scene-person b { top:48px;width:38px; }.art-bubble { width:45px;height:38px; }.bubble-a { top:9%;left:12%; }.bubble-b { right:12%;top:9%; }.how-section { padding:27px 0; }.how-section>h2 { font-size:20px; }.how-grid { grid-template-columns:1fr; }.how-grid article { min-height:85px;padding-left:65px; }.how-icon { top:42px; }.landing-values { grid-template-columns:1fr;gap:12px; }.landing-footer { flex-direction:column;font-size:8px; }.discover-hero { min-height:138px; }.discover-hero h1 { font-size:34px; }.discover-hero p { max-width:250px;font-size:11px; }.discover-art { position:absolute;right:-78px;opacity:.65;transform:scale(.82);transform-origin:right center; }.directory-search { grid-template-columns:1fr; }.directory-search .search-field { grid-column:auto; }.filter-select { height:39px; }.members-heading { align-items:flex-start; }.sort-label { display:grid;gap:4px; }.member-grid { grid-template-columns:1fr; }.member-card { display:grid;grid-template-columns:1fr; }.member-bio { min-height:0; }.connections-hero { min-height:130px; }.connections-hero h1 { font-size:31px; }.connections-tabs { width:100%;overflow:auto; }.connections-tabs button { padding:9px 11px;font-size:9px; }.connection-card { grid-template-columns:auto 1fr auto;padding:11px 10px;gap:8px; }.connection-card .avatar { width:44px;height:44px;flex-basis:44px; }.connection-person p { font-size:9px; }.connection-age { font-size:8px; }.connection-actions { grid-column:2/-1;justify-content:flex-end; }.messages-page { position:relative;height:calc(100dvh - 145px);min-height:430px;display:block;border:0;border-radius:0;margin:0 -17px; }.message-sidebar { height:100%;border-right:0; }.message-sidebar.mobile-hidden { display:none; }.chat-panel { display:none;height:100%; }.chat-panel.mobile-chat-open { display:flex; }.chat-header { padding:0 11px; }.mobile-back { display:grid;place-items:center;width:28px;height:32px;border:0;background:#fff;color:#4b6253; }.chat-person small { max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.safety-reminder { margin:8px;padding:8px;font-size:8px; }.chat-scroll { padding:12px; }.message-bubble { max-width:86%;font-size:10px; }.composer { padding:9px; }.message-side-heading { padding:16px 16px 10px; }.message-side-heading h1 { font-size:24px; }.profile-page h1,.settings-page h1 { font-size:30px; }.page-heading { align-items:flex-start;gap:10px; }.page-heading>.outline-button { font-size:9px;padding:8px; }.profile-form-card { padding:15px; }.form-section-title .avatar { width:66px;height:66px;flex-basis:66px; }.profile-side { grid-template-columns:1fr; }.profile-side .quick-actions { grid-column:auto; }.settings-nav { margin:0 -17px;padding:0 17px; }.settings-row { align-items:flex-start; }.settings-row .quiet-chip,.settings-row>.text-action { margin-left:auto; }.settings-row p { max-width:280px; }.danger-card { gap:10px; }.info-page { padding:30px 17px 55px; }.info-page h1 { font-size:33px; }.safety-grid { grid-template-columns:1fr; }.guidelines-list article { padding:12px; }.app-footer { padding-bottom:80px; } }

@media (max-width: 1060px) {
  .topbar { padding: 0 30px; }.content { padding: 38px 30px 45px; }.app-footer { padding: 15px 30px; }
  .sidebar { width: 220px; flex-basis: 220px; }.welcome-art { margin-right: 5px; }.member-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .landing { padding: 0 5%; }.landing-hero { grid-template-columns: 1fr .85fr; }.hero-visual { height: 340px; }
}
@media (max-width: 760px) {
  body { min-width: 320px; }.app-shell { display: block; }.sidebar { display: none; }.topbar { height: 58px; padding: 0 17px; }.topbar-right { gap: 8px; }.content { padding: 28px 17px 38px; }.welcome-row { min-height: 200px; }.welcome-row h1 { font-size: 37px; }.welcome-art { opacity: .55; position: absolute; right: -112px; top: 8px; transform: scale(.8); transform-origin: right center; }.welcome-row > div:first-child { position: relative; z-index: 1; }.stats-row { gap: 7px; margin: 19px 0 34px; }.stat-card { padding: 10px 8px; gap: 7px; min-height: 66px; }.stat-icon { width: 29px; height: 29px; flex-basis: 29px; font-size: 15px; }.stat-card strong { font-size: 15px; }.stat-card small { font-size: 8px; }.section-head { display: grid; align-items: start; }.directory-controls { width: 100%; }.search-field { flex: 1; min-width: 100px; }.directory-controls select { max-width: 116px; }.member-grid { grid-template-columns: 1fr; }.member-card { padding: 16px; }.member-bio { min-height: auto; }.app-footer { padding: 13px 17px; display: grid; font-size: 8px; }.profile-layout { grid-template-columns: 1fr; }.profile-preview { display: none; }.request-row { padding: 10px; gap: 8px; }.request-row .outline-button, .request-row .primary-button { padding: 8px; font-size: 9px; }.landing { padding: 0 20px; }.landing-nav { height: 67px; }.landing-hero { display: block; min-height: 0; padding: 52px 0 35px; }.landing-hero h1 { font-size: 45px; }.landing-hero .lede { font-size: 12px; }.hero-visual { height: 320px; width: 100%; margin-top: 36px; }.landing-values { grid-template-columns: 1fr; gap: 22px; padding: 28px 0; }.landing-values > div { border: 0; padding: 0; display: grid; grid-template-columns: 38px 1fr; column-gap: 8px; }.landing-values .value-icon { grid-row: span 2; margin: 0; }.landing-values h3 { margin-top: 2px; }.landing-values p { max-width: none; }.landing-footer { align-items: flex-start; gap: 15px; }.auth-shell { padding: 20px; }.auth-shell > .brand { margin-bottom: 25px; }.auth-card { padding: 24px 19px; }.demo-banner { font-size: 9px; }.demo-cta { align-items: flex-start; gap: 15px; flex-direction: column; }.page-intro { margin: 8px 0 25px; }.page-intro h1 { font-size: 35px; }.pilot-badge { display: none; }
}
