:root {
  --forest: #063b2c;
  --forest-2: #0d523e;
  --green: #17654d;
  --gold: #c99a43;
  --gold-soft: #ead3a2;
  --ink: #18231e;
  --muted: #68756e;
  --line: #dfe5e1;
  --paper: #f7f6f1;
  --white: #fffefa;
  --shadow: 0 18px 55px rgba(22, 51, 41, .1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
[hidden] { display: none !important; }
.view { display: none; }
.view.active { display: block; }

.app-shell { min-height: 100vh; display: flex; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; width: 256px; display: flex; flex-direction: column; padding: 29px 22px 20px; overflow-y: auto; background: var(--forest); color: white; }
.brand { display: flex; align-items: center; gap: 12px; padding: 0 4px; border: 0; background: transparent; color: white; text-align: left; }
.brand-mark { width: 47px; height: 43px; position: relative; display: flex; align-items: center; justify-content: center; font-family: Georgia, serif; }
.brand-mark b { position: absolute; top: 3px; font-size: 32px; line-height: 1; font-weight: 400; }
.brand-mark b:first-child { left: 0; color: white; }
.brand-mark b:last-child { right: 0; color: var(--gold); }
.brand-mark i { position: absolute; z-index: 2; top: 12px; color: white; font-size: 12px; font-style: normal; }
.brand-copy { display: flex; align-items: baseline; gap: 6px; font-family: Georgia, serif; letter-spacing: .12em; }
.brand-copy strong { font-size: 17px; font-weight: 500; }
.brand-copy em { color: var(--gold-soft); font-size: 12px; font-style: normal; }
.nav-list { display: grid; gap: 8px; margin-top: 58px; }
.nav-list > p { margin: 0 12px 8px; color: #8cb3a4; font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.nav-list button { position: relative; width: 100%; display: flex; align-items: center; gap: 13px; padding: 13px 14px; border: 0; border-radius: 11px; background: transparent; color: #c9d9d3; font-size: 13px; font-weight: 650; text-align: left; transition: .2s; }
.nav-list button:hover, .nav-list button.active { background: rgba(255,255,255,.1); color: white; }
.nav-list button.active:before { content: ""; position: absolute; left: -22px; width: 3px; height: 24px; border-radius: 0 4px 4px 0; background: var(--gold); }
.nav-list button > span { width: 23px; font-size: 19px; text-align: center; }
.nav-list button > b { min-width: 22px; height: 22px; display: grid; place-items: center; margin-left: auto; border-radius: 50%; background: var(--gold); color: #183328; font-size: 9px; }
.purpose-card { margin-top: auto; padding: 17px; border: 1px solid rgba(232,211,166,.23); border-radius: 16px; background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.035)); }
.purpose-card > span { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid rgba(232,211,166,.5); border-radius: 50%; color: var(--gold-soft); font-size: 9px; font-weight: 900; }
.purpose-card p { margin: 12px 0 3px; color: var(--gold-soft); font-family: Georgia, serif; font-size: 15px; }
.purpose-card strong { display: block; color: #eff6f2; font-size: 10px; line-height: 1.55; font-weight: 550; }
.purpose-card button { margin-top: 14px; padding: 0; border: 0; background: transparent; color: white; font-size: 10px; font-weight: 750; }
.sidebar-legal { display: grid; gap: 3px; margin-top: 16px; padding: 0 6px; color: #91b1a5; font-size: 8px; line-height: 1.5; }
.sidebar-legal strong { color: #adc7bd; font-size: 8px; }
.mobile-close, .sidebar-scrim { display: none; }

.main-area { width: calc(100% - 256px); min-height: 100vh; margin-left: 256px; }
.topbar { position: sticky; top: 0; z-index: 20; height: 82px; display: flex; align-items: center; gap: 22px; padding: 0 38px; border-bottom: 1px solid rgba(10,59,44,.08); background: rgba(247,246,241,.92); backdrop-filter: blur(18px); }
.search { flex: 1; max-width: 520px; display: flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.75); color: #829087; }
.search:focus-within { border-color: #82a795; box-shadow: 0 0 0 3px rgba(20,100,76,.08); }
.search input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 12px; }
.search input::placeholder { color: #95a198; }
.top-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.safety-pill, .profile-pill { border: 0; background: transparent; }
.safety-pill { padding: 9px 13px; border: 1px solid #d8e3dd; border-radius: 99px; color: var(--forest-2); font-size: 10px; font-weight: 750; }
.profile-pill { display: flex; align-items: center; gap: 9px; color: var(--ink); text-align: left; }
.profile-pill > span:first-child { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg,#e6d6b5,#b88235); color: var(--forest); font-family: Georgia,serif; font-size: 11px; font-weight: 800; }
.profile-pill > span:last-child { display: grid; }
.profile-pill strong { max-width: 110px; overflow: hidden; color: #243029; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.profile-pill small { color: #89938d; font-size: 8px; }
.menu-trigger { display: none; }
.content-frame { width: 100%; max-width: 1480px; min-height: calc(100vh - 82px); margin: 0 auto; padding: 34px 38px 52px; }
.setup-banner { display: flex; align-items: center; gap: 11px; margin: 16px 38px 0; padding: 12px 15px; border: 1px solid #dec58f; border-radius: 11px; background: #fff8e8; color: #6e5a30; font-size: 10px; }.setup-banner > span { color: #9b6f1f; font-size: 17px; }.setup-banner p { margin: 0; }.setup-banner a { margin-left: auto; color: var(--forest); font-weight: 850; }.setup-banner.hidden { display: none; }

.eyebrow { margin: 0 0 8px; color: var(--green); font-size: 9px !important; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.hero-panel { min-height: 480px; display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; border-radius: 24px; background: linear-gradient(125deg, #fffdf8 5%, #f4f0e5 55%, #e3eadf); box-shadow: 0 13px 48px rgba(25,56,45,.08); }
.hero-copy { position: relative; z-index: 2; align-self: center; padding: 58px 0 58px 58px; }
.live, .online { display: inline-flex; align-items: center; gap: 7px; color: #5e7168; font-size: 8px; font-weight: 700; }
.live { margin-bottom: 32px; padding: 7px 11px; border: 1px solid rgba(8,78,58,.14); border-radius: 99px; background: rgba(255,255,255,.65); }
.live i, .online i { width: 6px; height: 6px; border-radius: 50%; background: #49a66e; box-shadow: 0 0 0 4px rgba(73,166,110,.12); }
.hero-copy h1 { max-width: 680px; margin: 0; color: var(--forest); font-family: Georgia, serif; font-size: clamp(40px,4vw,66px); line-height: .98; font-weight: 450; letter-spacing: -.045em; }
.hero-copy h1 em { color: var(--gold); font-style: italic; font-weight: 400; }
.hero-copy > p:not(.eyebrow) { max-width: 590px; margin: 23px 0 0; color: #56635c; font-size: 13px; line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 20px; margin-top: 30px; }
.primary { min-height: 47px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 20px; border: 0; border-radius: 10px; background: var(--forest); color: white; font-size: 10px; font-weight: 800; box-shadow: 0 8px 22px rgba(6,59,44,.17); transition: .2s; }
.primary:hover { transform: translateY(-2px); background: var(--forest-2); }
.primary.gold { background: var(--gold); color: var(--forest); box-shadow: none; }
.text-button { padding: 9px 2px; border: 0; border-bottom: 1px solid #95a59d; background: transparent; color: var(--forest); font-size: 10px; font-weight: 750; }
.trust-row { display: flex; flex-wrap: wrap; gap: 17px; margin-top: 31px; color: #758179; font-size: 8px; }
.trust-row span { display: flex; align-items: center; gap: 5px; }
.trust-row b { color: var(--green); }
.hero-network { position: relative; min-height: 460px; }
.hero-network:before { content: ""; position: absolute; top: 79px; left: 50%; width: 330px; height: 330px; transform: translateX(-50%); border: 1px solid rgba(15,82,62,.08); border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff, rgba(230,236,225,.55) 56%, rgba(10,74,55,.04)); box-shadow: 0 20px 60px rgba(25,63,50,.08); }
.orbit { position: absolute; left: 50%; top: 53%; border: 1px solid rgba(12,79,59,.17); border-radius: 50%; transform: translate(-50%,-50%) rotate(-12deg); }
.orbit.a { width: 420px; height: 210px; }
.orbit.b { width: 310px; height: 365px; transform: translate(-50%,-50%) rotate(28deg); }
.match-core { position: absolute; top: 51%; left: 50%; width: 118px; height: 118px; transform: translate(-50%,-50%); display: grid; place-content: center; border: 7px solid rgba(255,255,255,.72); border-radius: 50%; background: var(--forest); color: white; text-align: center; box-shadow: 0 16px 38px rgba(6,59,44,.26); }
.match-core span { color: var(--gold-soft); font-family: Georgia,serif; font-size: 22px; }
.match-core strong { font-size: 7px; line-height: 1.35; letter-spacing: .07em; text-transform: uppercase; }
.node { position: absolute; z-index: 3; display: grid; justify-items: center; gap: 5px; }
.node > span { width: 64px; height: 64px; display: grid; place-items: center; border: 5px solid rgba(255,255,255,.8); border-radius: 50%; background: linear-gradient(145deg,#d8b777,#8f6a31); color: var(--forest); font-family: Georgia,serif; font-size: 14px; box-shadow: 0 8px 24px rgba(20,46,37,.14); }
.node small { padding: 3px 8px; border-radius: 99px; background: rgba(255,255,255,.8); color: #557067; font-size: 7px; }
.node.one { top: 90px; left: 23%; }.node.two { top: 135px; right: 13%; }.node.three { bottom: 64px; left: 27%; }
.node.two > span { background: linear-gradient(145deg,#8ebcb3,#46796e); color: white; }.node.three > span { background: linear-gradient(145deg,#c9b9d1,#776080); color: white; }

.section-title { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 52px 0 19px; }
.section-title h2 { margin: 0; color: var(--forest); font-family: Georgia,serif; font-size: 27px; font-weight: 450; }
.section-title button { border: 0; background: transparent; color: var(--green); font-size: 10px; font-weight: 800; }
.room-grid { display: grid; gap: 15px; }.room-grid.compact, .room-grid.full { grid-template-columns: repeat(3, 1fr); }
.room-card { position: relative; min-height: 234px; overflow: hidden; padding: 23px; border: 1px solid #e0e4df; border-radius: 17px; background: rgba(255,255,255,.8); box-shadow: 0 8px 30px rgba(19,49,39,.04); transition: .25s; }
.room-card:hover { transform: translateY(-4px); border-color: #bdcdc5; box-shadow: var(--shadow); }
.room-card:after { content: ""; position: absolute; right: -40px; bottom: -65px; width: 150px; height: 150px; border-radius: 50%; background: var(--accent,#e5eee8); opacity: .65; }
.room-top { display: flex; align-items: center; justify-content: space-between; }
.room-icon { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 13px; background: var(--accent,#dfe9e3); color: var(--forest); font-family: Georgia,serif; font-size: 11px; font-weight: 800; }
.room-card .eyebrow { margin-top: 20px; }
.room-card h3 { margin: 0; color: var(--forest); font-family: Georgia,serif; font-size: 21px; font-weight: 500; }
.room-card > p:not(.eyebrow) { max-width: 88%; margin: 8px 0 19px; color: #6c7971; font-size: 10px; line-height: 1.6; }
.room-card > button { position: relative; z-index: 2; padding: 0; border: 0; background: transparent; color: var(--forest); font-size: 9px; font-weight: 800; }
.accent-lime { --accent:#dcebd9 }.accent-gold { --accent:#eee0c1 }.accent-blue { --accent:#d6e7e7 }.accent-rose { --accent:#eadbd7 }.accent-violet { --accent:#e1dce9 }.accent-aqua { --accent:#d3ebe6 }

.people-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.person-card { overflow: hidden; border: 1px solid #e1e5e1; border-radius: 17px; background: white; box-shadow: 0 8px 24px rgba(18,48,38,.04); }
.portrait { height: 195px; position: relative; display: grid; place-items: center; overflow: hidden; }
.portrait:before, .portrait:after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; }.portrait:before { width: 190px; height: 190px }.portrait:after { width: 270px; height: 270px }
.portrait > span { z-index: 1; width: 86px; height: 86px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; background: rgba(255,255,255,.22); color: white; font-family: Georgia,serif; font-size: 27px; backdrop-filter: blur(8px); }
.portrait small { position: absolute; left: 14px; bottom: 13px; z-index: 2; padding: 6px 9px; border-radius: 99px; background: rgba(5,49,37,.78); color: white; font-size: 7px; }
.tone-sun { background: radial-gradient(circle at 28% 25%,#f8dfae,#9f7340 65%,#274d40) }.tone-sea { background: radial-gradient(circle at 72% 25%,#bdded9,#527d73 64%,#183d33) }.tone-violet { background: radial-gradient(circle at 35% 25%,#dccddf,#846e8a 65%,#3b354d) }
.person-info { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 17px 17px 10px; }
.person-info h3 { margin: 0; color: var(--forest); font-family: Georgia,serif; font-size: 18px; font-weight: 500; }.person-info p { margin: 3px 0 0; color: #7b8580; font-size: 8px; }
.person-info button { width: 35px; height: 35px; border: 1px solid #dce4df; border-radius: 50%; background: white; color: var(--forest); font-size: 18px; }.person-info button.liked { border-color: var(--gold); background: #f6edda; color: #a86e16; }
.tags { display: flex; flex-wrap: wrap; gap: 5px; padding: 0 17px 17px; }.tags span { padding: 5px 8px; border-radius: 99px; background: #f2f5f2; color: #65716a; font-size: 7px; }
.mission { position: relative; margin: 56px 0 0; padding: 40px 44px; overflow: hidden; border-radius: 20px; background: var(--forest); color: white; }
.mission:after { content: "GSV"; position: absolute; right: 25px; top: -20px; color: rgba(255,255,255,.035); font-family: Georgia,serif; font-size: 170px; }.mission > span { color: var(--gold); font-family: Georgia,serif; font-size: 55px; line-height: .5; }
.mission p { margin: 8px 0; font-family: Georgia,serif; font-size: 24px; }.mission footer { color: #a9c4ba; font-size: 8px; }.mission button { position: absolute; right: 43px; bottom: 35px; z-index: 2; border: 0; background: transparent; color: white; font-size: 9px; font-weight: 800; }

.page-view { min-height: 650px; }
.page-hero { min-height: 238px; display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 42px 50px; overflow: hidden; border-radius: 22px; background: linear-gradient(120deg,#fffdf8,#e7eee9); }
.page-hero h1 { margin: 0; color: var(--forest); font-family: Georgia,serif; font-size: clamp(37px,4vw,58px); line-height: 1; font-weight: 450; letter-spacing: -.035em; }.page-hero > div:first-child > p:not(.eyebrow) { max-width: 650px; margin: 15px 0 0; color: #647169; font-size: 12px; line-height: 1.7; }
.stat { min-width: 185px; display: flex; align-items: center; gap: 13px; padding: 18px; border: 1px solid rgba(11,77,58,.13); border-radius: 15px; background: rgba(255,255,255,.55); }.stat strong { color: var(--gold); font-family: Georgia,serif; font-size: 34px; }.stat span { color: #607068; font-size: 8px; }
.filters { display: flex; align-items: center; gap: 8px; margin: 28px 0 19px; }.filters .search { max-width: none; margin-right: auto; background: white; }.filters > button { padding: 9px 13px; border: 1px solid var(--line); border-radius: 99px; background: white; color: #68756e; font-size: 8px; font-weight: 750; }.filters > button.active { border-color: var(--forest); background: var(--forest); color: white; }
.guideline { display: flex; align-items: center; gap: 14px; margin-top: 24px; padding: 18px 20px; border: 1px solid #e3dfd2; border-radius: 13px; background: #fbf7ed; }.guideline > span { width: 37px; height: 37px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #eee1c6; color: #8d681f; }.guideline strong { font-size: 10px; }.guideline p { margin: 3px 0 0; color: #766e5e; font-size: 8px; }
.empty { min-height: 350px; display: grid; place-items: center; align-content: center; text-align: center; }.empty > span { color: var(--gold); font-family: Georgia,serif; font-size: 45px; }.empty h2 { margin: 12px 0 6px; color: var(--forest); font-family: Georgia,serif; font-weight: 500; }.empty p { margin: 0 0 15px; color: var(--muted); font-size: 10px; }.empty button { padding: 9px 14px; border: 1px solid var(--forest); border-radius: 8px; background: transparent; color: var(--forest); font-size: 9px; }.empty.tall { min-height: 430px; }

.chat-layout { min-height: calc(100vh - 150px); display: grid; grid-template-columns: minmax(0,1fr) 265px; overflow: hidden; border: 1px solid #dde4df; border-radius: 19px; background: white; box-shadow: 0 10px 36px rgba(18,52,40,.05); }
.chat-column { min-width: 0; display: flex; flex-direction: column; border-right: 1px solid #e3e7e4; }.chat-header { min-height: 88px; display: flex; align-items: center; gap: 12px; padding: 14px 21px; border-bottom: 1px solid #e6e9e7; }.chat-header > button { width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #f2f5f3; color: var(--forest); }.chat-header h1 { margin: 0; color: var(--forest); font-family: Georgia,serif; font-size: 19px; font-weight: 500; }.chat-header .eyebrow { margin-bottom: 2px; font-size: 7px !important; }.chat-header .more { margin-left: auto; }
.room-notice { min-height: 42px; display: flex; align-items: center; gap: 8px; padding: 8px 18px; background: #faf5e9; color: #74664c; font-size: 8px; }.room-notice p { margin: 0; }.room-notice button { margin-left: auto; padding: 0; border: 0; border-bottom: 1px solid #9d8b68; background: transparent; color: #725b31; font-size: 8px; }
.message-list { flex: 1; min-height: 430px; max-height: calc(100vh - 350px); overflow-y: auto; padding: 17px 22px; background: linear-gradient(#fff,#fcfcfa); }.day { display: flex; align-items: center; gap: 10px; margin: 3px 0 18px; color: #9aa39e; font-size: 7px; }.day:before,.day:after { content: ""; height: 1px; flex: 1; background: #edf0ee; }
.message { max-width: 680px; display: flex; align-items: flex-start; gap: 10px; margin-bottom: 15px; }.avatar { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: #dde8e2; color: var(--forest); font-family: Georgia,serif; font-size: 9px; }.message > div { max-width: min(86%,630px); }.message-meta { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; }.message-meta strong { font-size: 9px; }.message-meta span { color: var(--gold); font-size: 7px; }.message-meta time { color: #a0a8a3; font-size: 7px; }.message p { margin: 0; padding: 10px 12px; border-radius: 4px 13px 13px; background: #f1f4f2; color: #4a5750; font-size: 10px; line-height: 1.55; }.message > button { opacity: 0; margin-top: 20px; border: 0; background: transparent; color: #9ba49f; }.message:hover > button { opacity: 1; }.message.mine { margin-left: auto; flex-direction: row-reverse; }.message.mine .message-meta { justify-content: flex-end; }.message.mine p { border-radius: 13px 4px 13px 13px; background: var(--forest); color: white; }.message.mine .avatar { background: #ead8ae; }
.loading { padding: 25px; color: #829088; font-size: 9px; text-align: center; }.chat-empty { min-height: 260px; display: grid; justify-items: center; align-content: center; text-align: center; }.chat-empty > span { color: var(--gold); font-size: 30px; }.chat-empty h2 { margin: 8px 0 4px; color: var(--forest); font-family: Georgia,serif; font-weight: 500; }.chat-empty p { margin: 0; color: var(--muted); font-size: 9px; }
.composer { display: flex; align-items: flex-end; gap: 9px; padding: 13px 16px; border-top: 1px solid #e3e8e4; }.composer > button { width: 36px; height: 36px; flex: 0 0 auto; border: 1px solid #dfe6e1; border-radius: 50%; background: white; color: var(--forest); }.composer label { min-height: 42px; flex: 1; display: flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid #dfe6e1; border-radius: 12px; background: #f9faf9; }.composer textarea { min-height: 22px; max-height: 90px; flex: 1; resize: vertical; border: 0; outline: 0; background: transparent; font-size: 10px; }.composer label span { color: #a1aaa5; font-size: 7px; }.composer .send { border: 0; background: var(--forest); color: white; }
.room-aside { padding: 23px 19px; overflow-y: auto; background: #fbfcfa; }.room-aside h2 { margin: 0; color: var(--forest); font-family: Georgia,serif; font-size: 20px; font-weight: 500; }.room-aside > p:not(.eyebrow) { color: var(--muted); font-size: 9px; line-height: 1.6; }.room-aside hr { margin: 20px 0; border: 0; border-top: 1px solid #e5e9e6; }.room-aside > strong { font-size: 9px; }.facts { display: grid; gap: 8px; margin-top: 15px; color: #5f6c65; font-size: 8px; }.facts span { display: flex; align-items: center; gap: 7px; }.facts b { width: 22px; color: var(--gold); text-align: center; }.online-person { display: flex; align-items: center; gap: 9px; margin-top: 12px; }.online-person > span { position: relative; width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; background: #e8dfcf; color: var(--forest); font-family: Georgia,serif; font-size: 8px; }.online-person > span i { position: absolute; right: 0; bottom: 1px; width: 8px; height: 8px; border: 2px solid white; border-radius: 50%; background: #47a46d; }.online-person div { display: grid; }.online-person strong { font-size: 8px; }.online-person small { color: #929c96; font-size: 7px; }.leave { width: 100%; margin-top: 24px; padding: 9px; border: 1px solid var(--line); border-radius: 8px; background: white; color: #6f7b74; font-size: 8px; }

.page-hero.connections { background: linear-gradient(120deg,#fffdf9,#f0e7d5); }.big-heart { color: rgba(201,154,67,.6); font-family: Georgia,serif; font-size: 110px; }.connection-list { display: grid; gap: 13px; margin-top: 24px; }.connection-list article { position: relative; display: grid; grid-template-columns: 95px 1fr auto; align-items: center; gap: 17px; padding: 14px; border: 1px solid #e0e6e2; border-radius: 15px; background: white; }.connection-list .portrait { width: 95px; height: 95px; border-radius: 12px; }.connection-list .portrait > span { width: 52px; height: 52px; font-size: 16px; }.connection-list h2 { margin: 0; color: var(--forest); font-family: Georgia,serif; font-size: 18px; font-weight: 500; }.connection-list p { margin: 4px 0 10px; color: var(--muted); font-size: 8px; }.connection-list .tags { padding: 0; }.connection-list > article > button { padding: 10px 13px; border: 0; border-radius: 8px; background: var(--forest); color: white; font-size: 8px; }.connection-list .remove { position: absolute; top: 7px; right: 7px; width: 21px; height: 21px; padding: 0; border-radius: 50%; background: #f1f3f1; color: #859089; }

.safety-hero { min-height: 340px; display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: 70px; padding: 40px 8%; border-radius: 22px; background: linear-gradient(130deg,#e8eee9,#fffdf8); }.shield { width: 230px; height: 250px; position: relative; display: grid; place-items: center; justify-self: center; clip-path: polygon(50% 0,92% 16%,84% 73%,50% 100%,16% 73%,8% 16%); background: var(--forest); color: white; }.shield span { font-family: Georgia,serif; font-size: 42px; }.shield i { position: absolute; bottom: 58px; color: var(--gold); font-style: normal; }.safety-hero h1 { max-width: 650px; margin: 0; color: var(--forest); font-family: Georgia,serif; font-size: clamp(38px,4vw,56px); line-height: 1; font-weight: 450; }.safety-hero p:not(.eyebrow) { max-width: 650px; margin: 17px 0 22px; color: #617068; font-size: 11px; line-height: 1.7; }.safety-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; margin-top: 24px; }.safety-grid article { min-height: 195px; padding: 22px; border: 1px solid #e0e5e1; border-radius: 15px; background: white; }.safety-grid article > span { color: var(--gold); font-family: Georgia,serif; font-size: 21px; }.safety-grid h2 { margin: 24px 0 8px; color: var(--forest); font-family: Georgia,serif; font-size: 16px; font-weight: 500; }.safety-grid p { margin: 0; color: #6c7771; font-size: 8px; line-height: 1.7; }.safety-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 15px; }.safety-actions article { display: grid; grid-template-columns: 43px 1fr; align-items: center; gap: 14px; padding: 19px; border-radius: 14px; background: #edf2ee; }.safety-actions article > span { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 50%; background: white; color: var(--forest); }.safety-actions h2 { margin: 0; color: var(--forest); font-family: Georgia,serif; font-size: 15px; font-weight: 500; }.safety-actions p { margin: 4px 0 0; color: #6f7a74; font-size: 8px; }.emergency { display: flex; align-items: center; gap: 18px; margin-top: 15px; padding: 17px 20px; border: 1px solid #ead6d3; border-radius: 12px; background: #fcf3f2; }.emergency strong { color: #8c332e; font-size: 9px; }.emergency p { margin: 0; color: #755a57; font-size: 8px; }

.support-hero { min-height: 520px; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; padding: 55px 8%; border-radius: 24px; background: radial-gradient(circle at 50% 45%,#176148,#063b2c 62%); color: white; text-align: center; }.support-hero:before,.support-hero:after { content: ""; position: absolute; width: 460px; height: 460px; border: 1px solid rgba(232,211,162,.15); border-radius: 50%; }.support-hero:after { width: 620px; height: 620px; }.support-hero > * { position: relative; z-index: 1; }.gsv { width: 60px; height: 60px; display: grid; place-items: center; margin-bottom: 22px; border: 1px solid rgba(232,211,162,.55); border-radius: 50%; color: var(--gold-soft); font-family: Georgia,serif; font-size: 14px; }.support-hero .eyebrow { color: #bad1c8; }.support-hero h1 { margin: 0; font-family: Georgia,serif; font-size: clamp(39px,4.5vw,62px); line-height: 1.03; font-weight: 400; }.support-hero h1 em { color: var(--gold-soft); font-weight: 400; }.support-hero > p:not(.eyebrow) { max-width: 750px; margin: 20px 0; color: #c0d2cc; font-size: 11px; line-height: 1.8; }.support-hero blockquote { margin: 7px 0 24px; font-family: Georgia,serif; font-size: 18px; font-style: italic; }.support-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 20px; }.support-cards article { min-height: 200px; padding: 25px; border: 1px solid #e0e5e1; border-radius: 15px; background: white; }.support-cards article > span { color: var(--gold); font-family: Georgia,serif; font-size: 22px; }.support-cards h2 { margin: 28px 0 8px; color: var(--forest); font-family: Georgia,serif; font-weight: 500; }.support-cards p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.7; }.transparency { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 20px; padding: 30px; border-radius: 16px; background: #ebeade; }.transparency h2 { margin: 0; color: var(--forest); font-family: Georgia,serif; font-weight: 500; }.transparency > div:last-child { display: grid; align-content: center; }.transparency span,.transparency small { color: #6c756f; font-size: 8px; }.transparency strong { margin: 3px 0 7px; color: var(--forest); font-size: 13px; }

.profile-hero { background: linear-gradient(120deg,#fffdf8,#e9e0ce); }.profile-avatar { width: 135px; height: 135px; flex: 0 0 auto; display: grid; place-items: center; border: 7px solid rgba(255,255,255,.6); border-radius: 50%; background: linear-gradient(145deg,#e4c98c,#87632c); color: var(--forest); font-family: Georgia,serif; font-size: 34px; box-shadow: var(--shadow); }.profile-form { max-width: 850px; display: grid; gap: 19px; margin: 24px auto 0; padding: 30px; border: 1px solid #e0e5e1; border-radius: 18px; background: white; }.form-heading { display: flex; align-items: end; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid #e7ebe8; }.form-heading h2 { margin: 0; color: var(--forest); font-family: Georgia,serif; font-size: 27px; font-weight: 500; }.form-heading > span { color: #7d8882; font-size: 8px; }.profile-form > label,.form-row label { display: grid; gap: 7px; }.profile-form label > span,.profile-form legend { color: #3e4b44; font-size: 9px; font-weight: 750; }.profile-form input:not([type="checkbox"]),.profile-form select,.profile-form textarea { width: 100%; padding: 12px 13px; border: 1px solid #dce3df; border-radius: 9px; outline: 0; background: #fbfcfb; color: var(--ink); font-size: 10px; }.profile-form small { color: #939c97; font-size: 7px; }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.profile-form fieldset { margin: 0; padding: 0; border: 0; }.choices { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; margin-top: 9px; }.choices label { display: flex; align-items: center; gap: 8px; padding: 11px; border: 1px solid #e0e5e1; border-radius: 9px; background: #fbfcfb; }.choices input,.consent input { accent-color: var(--forest); }.consent { display: flex !important; align-items: flex-start; gap: 9px !important; padding: 12px; border-radius: 9px; background: #f3f6f3; }.consent span { font-size: 8px !important; line-height: 1.5; }.profile-form .primary { justify-self: start; }

.site-footer { display: grid; grid-template-columns: .8fr 1.4fr .7fr; gap: 30px; align-items: start; padding: 32px 38px 35px; border-top: 1px solid var(--line); color: #66726b; }.footer-brand { display: flex; gap: 10px; }.footer-brand > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--forest); color: var(--gold-soft); font-family: Georgia,serif; font-size: 9px; }.footer-brand strong { color: var(--forest); font-family: Georgia,serif; font-size: 14px; font-weight: 500; }.footer-brand p { margin: 4px 0 0; font-size: 7px; }.network { display: flex; flex-wrap: wrap; gap: 6px 12px; }.network > b { width: 100%; color: #8a948e; font-size: 7px; letter-spacing: .1em; text-transform: uppercase; }.network a { color: #5d6962; font-size: 7px; }.network a:hover { color: var(--forest); text-decoration: underline; text-decoration-color: var(--gold); }.footer-legal { display: grid; gap: 4px; justify-items: end; text-align: right; }.footer-legal strong { color: var(--forest); font-size: 8px; }.footer-legal span { font-size: 7px; }.mobile-nav { display: none; }

.campaigns { margin-top: 50px; }.campaign-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }.campaign-card { position: relative; min-height: 330px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 20px; border-radius: 16px; background: var(--forest); color: white; box-shadow: 0 16px 45px rgba(6,59,44,.12); isolation: isolate; }.campaign-card:after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,rgba(3,28,20,.88),rgba(3,28,20,.06) 68%); }.campaign-card img { width: 100%; height: 100%; position: absolute; inset: 0; z-index: -2; object-fit: cover; transition: transform .35s ease; }.campaign-card:hover img { transform: scale(1.035); }.campaign-card > span { color: var(--gold-soft); font-size: 7px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }.campaign-card > strong { margin-top: 5px; font-family: Georgia,serif; font-size: 18px; font-weight: 500; line-height: 1.05; }.campaign-card > small { margin-top: 8px; color: #d5e2dc; font-size: 7px; line-height: 1.4; }

.modal-backdrop { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; background: rgba(3,26,19,.7); backdrop-filter: blur(7px); }.modal { width: min(100%,470px); position: relative; padding: 32px; border-radius: 19px; background: white; box-shadow: 0 30px 90px rgba(0,0,0,.24); }.modal-close { position: absolute; top: 13px; right: 14px; width: 30px; height: 30px; border: 0; border-radius: 50%; background: #f1f3f1; }.modal-icon { width: 45px; height: 45px; display: grid; place-items: center; margin-bottom: 15px; border-radius: 50%; background: #f4ead7; color: #9c6b19; }.modal h2 { margin: 0; color: var(--forest); font-family: Georgia,serif; font-size: 28px; font-weight: 500; }.modal > p:not(.eyebrow) { color: var(--muted); font-size: 9px; }.report-options { display: grid; gap: 7px; margin-top: 18px; }.report-options button { display: flex; justify-content: space-between; padding: 12px 13px; border: 1px solid #e0e5e1; border-radius: 9px; background: white; color: #455149; font-size: 9px; text-align: left; }.report-options button:hover { border-color: #9eb9ad; background: #f5f8f6; }.toast { position: fixed; right: 24px; bottom: 24px; z-index: 120; max-width: 420px; display: flex; align-items: center; gap: 9px; padding: 13px 17px; border-radius: 11px; background: #143d31; color: white; font-size: 9px; box-shadow: 0 15px 50px rgba(8,44,33,.28); animation: toast-in .25s ease; }.toast span { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; background: #3a8b68; }@keyframes toast-in { from { opacity:0; transform:translateY(9px) } }

@media (max-width: 1120px) {
  .sidebar { width: 220px }.main-area { width: calc(100% - 220px); margin-left: 220px }.hero-panel { grid-template-columns: 1fr }.hero-copy { padding-right: 58px }.hero-network { display: none }.room-grid.compact,.room-grid.full { grid-template-columns: repeat(2,1fr) }.people-grid { grid-template-columns: repeat(2,1fr) }.person-card:last-child { display: none }.campaign-grid { grid-template-columns: repeat(3,1fr) }.safety-grid { grid-template-columns: repeat(2,1fr) }.site-footer { grid-template-columns: 1fr 1fr }.footer-legal { justify-items: start; text-align: left }
}

@media (max-width: 820px) {
  body { padding-bottom: 68px }.sidebar { width: min(86vw,300px); transform: translateX(-105%); transition: .25s; box-shadow: 20px 0 60px rgba(0,0,0,.2) }.sidebar-open { transform: translateX(0) }.mobile-close { display: grid; place-items: center; position: absolute; top: 14px; right: 14px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(255,255,255,.1); color: white; font-size: 20px }.sidebar-scrim { display: none; position: fixed; inset: 0; z-index: 25; border: 0; background: rgba(4,25,19,.55) }.sidebar-scrim.visible { display: block }.main-area { width: 100%; margin-left: 0 }.topbar { height: 67px; padding: 0 16px; gap: 10px }.menu-trigger { width: 35px; height: 35px; display: grid; place-items: center; flex: 0 0 auto; border: 0; border-radius: 9px; background: var(--forest); color: white }.topbar .search { max-width: none }.safety-pill,.profile-pill > span:last-child { display: none }.profile-pill > span:first-child { width: 35px; height: 35px }.setup-banner { margin: 12px 16px 0; align-items: flex-start; flex-wrap: wrap }.setup-banner a { width: 100%; margin-left: 28px }.content-frame { padding: 18px 16px 35px }.hero-panel { min-height: 520px }.hero-copy { padding: 44px 27px }.hero-copy h1 { font-size: clamp(39px,12vw,57px) }.hero-actions { align-items: flex-start; flex-direction: column; gap: 12px }.room-grid.compact,.room-grid.full,.people-grid { grid-template-columns: 1fr }.person-card:last-child { display: block }.campaign-grid { grid-template-columns: repeat(2,1fr) }.campaign-card { min-height: 285px }.mission { padding: 34px 25px 100px }.mission button { left: 25px; right: auto; bottom: 30px }.page-hero { min-height: 310px; align-items: flex-start; flex-direction: column; padding: 35px 28px }.filters { flex-wrap: wrap }.filters .search { min-width: 100% }.chat-layout { min-height: calc(100vh - 128px); grid-template-columns: 1fr; border-radius: 14px }.chat-column { border-right: 0 }.room-aside { display: none }.message-list { max-height: calc(100vh - 340px) }.connection-list article { grid-template-columns: 70px 1fr }.connection-list .portrait { width: 70px; height: 70px }.connection-list > article > button { grid-column: 1/-1 }.safety-hero { grid-template-columns: 1fr; gap: 25px; padding: 38px 25px }.shield { width: 150px; height: 170px }.safety-grid,.safety-actions,.support-cards,.transparency { grid-template-columns: 1fr }.emergency { align-items: flex-start; flex-direction: column }.support-hero { min-height: 610px; padding: 45px 24px }.support-hero:before { width: 320px; height: 320px }.support-hero:after { width: 440px; height: 440px }.form-row,.choices { grid-template-columns: 1fr }.profile-form { padding: 22px 18px }.form-heading { align-items: flex-start; flex-direction: column; gap: 10px }.profile-avatar { width: 96px; height: 96px }.site-footer { grid-template-columns: 1fr; padding: 28px 20px 100px }.mobile-nav { position: fixed; left: 10px; right: 10px; bottom: 9px; z-index: 24; height: 58px; display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(6,59,44,.96); box-shadow: 0 12px 35px rgba(4,36,27,.28) }.mobile-nav button { display: grid; place-content: center; justify-items: center; gap: 3px; border: 0; background: transparent; color: #9fb9af; font-size: 7px }.mobile-nav button span { font-size: 17px }.mobile-nav button.active { background: rgba(255,255,255,.08); color: var(--gold-soft) }.toast { left: 16px; right: 16px; bottom: 79px }
}

@media (max-width: 460px) {
  .topbar .search input::placeholder { color: transparent }.section-title { align-items: flex-start; flex-direction: column }.hero-copy { padding: 38px 22px }.hero-copy h1 { font-size: 43px }.hero-copy > p:not(.eyebrow) { font-size: 11px }.person-card .portrait { height: 170px }.campaign-grid { grid-template-columns: 1fr }.campaign-card { min-height: 390px }.mission p { font-size: 21px }.stat { min-width: 100% }.room-notice p { max-width: 205px }.chat-header { padding: 10px }.chat-header .room-icon { display: none }.message-list { padding: 15px 12px }.message > div { max-width: 82% }.avatar { width: 30px; height: 30px }.composer { padding: 10px }.composer > button:first-child { display: none }.safety-grid { grid-template-columns: 1fr }.profile-hero { min-height: 370px }
}
