@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--ink:#2b2229;--muted:#837780;--rose:#c95879;--rose2:#a83e61;--pale:#fff2f5;--line:#efe2e6;--bg:#fffdfc;--green:#319b70}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 7%;border-bottom:1px solid var(--line);background:#fffdfcf2;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{font:700 27px 'Playfair Display',serif;letter-spacing:-.8px;display:flex;gap:9px;align-items:center}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:var(--rose);color:#fff;font-size:18px}.nav-menu{display:flex;gap:25px;align-items:center;font-size:12px;color:#746973}.nav-menu a:hover{color:var(--rose)}.nav-menu .nav-cta{background:var(--rose);color:#fff;padding:12px 15px;border-radius:7px}.menu-toggle{display:none;background:white;border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-size:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:8px;padding:14px 19px;background:var(--rose);color:white;font-weight:700;font-size:12px;cursor:pointer;transition:.2s}.btn:hover{background:var(--rose2);transform:translateY(-1px)}.btn-small{padding:10px 13px;font-size:11px}.full{width:100%;margin-top:16px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;padding:70px 9%;min-height:560px;background:radial-gradient(ellipse at 85% 40%,#fff0f4,transparent 42%),var(--bg)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--rose);font-weight:700}.hero h1{font:700 clamp(45px,5vw,68px)/1.1 'Playfair Display',serif;letter-spacing:-2px;margin:22px 0}.hero h1 em{color:var(--rose)}.hero-copy>p,.section-head p,.join-banner p{font-size:14px;color:var(--muted);line-height:1.8;max-width:480px}.hero-actions{display:flex;align-items:center;gap:23px;margin-top:28px}.text-link{font-size:12px;font-weight:700;color:var(--rose)}.trust{display:flex;gap:10px;align-items:center;margin-top:40px;font-size:11px;color:var(--muted)}.hero-art{position:relative;min-height:420px;display:grid;place-items:center}.hero-image{height:400px;width:67%;object-fit:cover;border-radius:180px 180px 18px 18px;box-shadow:0 25px 65px #6b2a451b;transform:rotate(2deg)}.float-card{position:absolute;bottom:30px;left:2%;display:flex;gap:12px;align-items:center;background:white;border-radius:12px;padding:16px;box-shadow:0 12px 40px #48233112}.float-card strong,.float-card small{display:block;font-size:11px}.float-card small{color:var(--muted);margin-top:5px}.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4db887}.decor-star{position:absolute;top:20px;left:12%;color:#d47e98;font-size:39px}.stats{display:flex;justify-content:center;padding:25px 5%;background:#fff6f7;border-block:1px solid #f6e5e9}.stats div{padding:0 7%;border-right:1px solid var(--line);text-align:center}.stats div:last-child{border:0}.stats strong,.stats span{display:block}.stats strong{font:700 19px 'Playfair Display',serif}.stats span{font-size:11px;color:var(--muted);margin-top:5px}.section{padding:75px 8%}.section-head h1,.section-head h2,.app-section>h1,.auth-card h1,.join-banner h2{font:700 clamp(30px,4vw,43px)/1.2 'Playfair Display',serif;margin:12px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}.steps article{border:1px solid var(--line);border-radius:13px;padding:26px;background:white}.steps article>span{display:grid;place-items:center;width:38px;height:38px;background:var(--pale);color:var(--rose);border-radius:12px;font-weight:700;font-size:12px}.steps h3{font:700 20px 'Playfair Display',serif}.steps p{font-size:12px;line-height:1.8;color:var(--muted)}.join-banner{margin:0 8% 75px;padding:35px 4%;display:flex;justify-content:space-between;align-items:center;gap:25px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(110deg,#fff1f4,#fffaf7)}.join-banner h2{font-size:30px}.join-banner p{margin-bottom:0}.join-banner .btn{flex-shrink:0}footer{border-top:1px solid var(--line);padding:32px 8% 25px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}footer .brand{font-size:23px}footer p{font-size:11px;color:var(--muted)}.footer-links{margin-left:auto;display:flex;gap:18px;flex-wrap:wrap}.footer-links a,footer>small{font-size:10px;color:var(--muted)}footer>small{width:100%;border-top:1px solid var(--line);padding-top:17px}.auth-wrap{min-height:calc(100vh - 160px);padding:45px 18px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 20% 10%,#fff0f4,transparent 45%),#fffdfc}.auth-card{width:min(100%,440px);padding:35px;border:1px solid var(--line);border-radius:16px;background:white;box-shadow:0 18px 60px #5a23320b}.auth-card.wide{width:min(100%,720px)}.auth-card h1{font-size:32px;margin-top:28px}.muted,.auth-card>p{color:var(--muted);font-size:12px;line-height:1.7}.auth-card form>label,.form-grid label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:700;margin-top:15px}.auth-card input:not([type=checkbox]),.auth-card select,.auth-card textarea,.search-bar input{width:100%;border:1px solid #e9dfe3;border-radius:8px;padding:12px;background:#fff;font-size:12px;outline:none}.auth-card input:focus,.auth-card select:focus,.auth-card textarea:focus,.search-bar input:focus{border-color:#d9829c;box-shadow:0 0 0 3px #fff0f4}.auth-bottom{text-align:center;margin:22px 0 0}.auth-bottom a,.check-label a{color:var(--rose);font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.full-field{grid-column:1/-1}.check-label{display:flex;gap:9px;align-items:flex-start;font-size:10px;color:var(--muted);line-height:1.6;margin-top:18px}.check-label input{margin-top:2px}.profile-edit-head{display:flex;gap:15px;align-items:center;background:#fff7f8;padding:16px;border-radius:12px;margin:20px 0}.profile-edit-head img{width:66px;height:66px;object-fit:cover;border-radius:50%}.profile-edit-head p{margin:4px 0}.subheading{font:700 24px 'Playfair Display',serif;margin:35px 0 15px}.blocked-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.app-section{min-height:60vh}.app-section>h1{margin:13px 0}.app-section>.muted{margin-top:0}.profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:27px}.profile-card{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden;min-width:0;transition:.2s}.profile-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px #5d23320b}.profile-image{height:225px;background:#f8e8ed;position:relative}.profile-image img{width:100%;height:100%;object-fit:cover}.status{position:absolute;top:10px;left:10px;background:#ffffffeb;padding:7px 10px;border-radius:20px;font-size:10px}.profile-info{padding:15px}.profile-info h3{font-size:15px;margin:0}.profile-info .muted{font-size:11px}.bio-preview{font-size:11px;color:#70656e;line-height:1.6;min-height:35px}.card-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.quiet-btn{background:transparent;border:0;color:var(--muted);font-size:10px;cursor:pointer;padding:7px 2px}.quiet-btn:hover{color:var(--rose)}.search-bar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:17px;background:#fff5f7;border:1px solid var(--line);border-radius:12px;margin-top:24px}.search-bar label{font-size:10px;font-weight:700;display:flex;flex-direction:column;gap:7px;flex:1;min-width:120px}.search-bar input{padding:10px}.empty-state{text-align:center;padding:60px 20px;border:1px dashed #e8d4db;border-radius:15px;margin-top:28px}.empty-state>span{font-size:38px;color:var(--rose)}.empty-state h3{font:700 24px 'Playfair Display',serif}.empty-state p{font-size:12px;color:var(--muted);margin-bottom:20px}.match-list{max-width:760px;margin-top:25px}.match-row{display:flex;align-items:center;gap:15px;padding:14px;border-bottom:1px solid var(--line)}.match-row img,.chat-contact img,.chat-header img{width:48px;height:48px;object-fit:cover;border-radius:50%}.match-details{flex:1}.match-details strong,.match-details small{display:block}.match-details strong{font-size:13px}.match-details small{font-size:11px;color:var(--muted);margin-top:5px}.chat-wrap{display:grid;grid-template-columns:270px 1fr;max-width:1100px;min-height:600px;margin:45px auto;padding:0 20px}.chat-sidebar,.chat-panel{border:1px solid var(--line);background:white}.chat-sidebar{border-radius:14px 0 0 14px;padding:20px}.chat-sidebar h2{font:700 23px 'Playfair Display',serif}.chat-contact{display:flex;align-items:center;gap:12px;padding:12px 8px;border-radius:9px;font-size:12px}.chat-contact.selected,.chat-contact:hover{background:var(--pale)}.chat-panel{border-radius:0 14px 14px 0;display:flex;flex-direction:column;min-width:0}.chat-header{display:flex;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid var(--line)}.chat-header strong{font-size:13px}.chat-header .muted{margin-left:auto;font-size:10px}.messages{padding:20px;flex:1;min-height:330px;max-height:480px;overflow:auto;background:#fffcfb}.bubble-row{display:flex;margin-bottom:12px}.bubble-row.mine{justify-content:flex-end}.bubble{max-width:75%;background:#f7edf0;padding:11px 14px;border-radius:13px 13px 13px 3px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.mine .bubble{background:var(--rose);color:white;border-radius:13px 13px 3px 13px}.bubble small{display:block;font-size:9px;opacity:.7;margin-top:6px}.chat-compose{display:flex;gap:9px;padding:13px;border-top:1px solid var(--line)}.chat-compose input{min-width:0;flex:1;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:12px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:11px;background:white}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#fff5f7;color:#6e5e67}tr:last-child td{border-bottom:0}.flash{padding:12px 7%;font-size:12px;background:#fff5df;color:#73591d}.flash.success{background:#eaf8ef;color:#217a4c}.flash.error{background:#fff0f0;color:#a92f3a}.notice{padding:14px;border-radius:8px;font-size:12px;margin:15px 0}.notice.success{background:#eaf8ef;color:#217a4c}.notice.error{background:#fff0f0;color:#a92f3a}.small{font-size:10px;color:var(--muted);line-height:1.7;margin-top:18px}.small a{color:var(--rose)}@media(max-width:900px){.topbar{padding:0 5%;height:70px}.menu-toggle{display:block}.nav-menu{display:none;position:absolute;top:70px;left:0;right:0;padding:14px 6%;background:white;box-shadow:0 12px 20px #0000000a;flex-direction:column;align-items:stretch;gap:0}.nav-menu.open{display:flex}.nav-menu a{padding:13px 0;border-bottom:1px solid var(--line)}.nav-menu .nav-cta{padding:12px;margin-top:10px;text-align:center}.hero{padding:50px 7%;gap:3%}.hero-image{width:78%;height:350px}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-image{height:260px}.section{padding:55px 6%}.chat-wrap{margin:25px auto;grid-template-columns:210px 1fr}.join-banner{margin:0 6% 50px}}@media(max-width:600px){.hero{display:flex;flex-direction:column;padding:42px 7%}.hero h1{font-size:47px}.hero-art{min-height:365px;margin-top:15px}.hero-image{height:335px;width:72%}.float-card{left:0;bottom:20px}.stats{padding:22px 2%}.stats div{padding:0 4%;flex:1}.stats strong{font-size:15px}.stats span{font-size:9px}.steps{grid-template-columns:1fr}.join-banner{flex-direction:column;align-items:flex-start;padding:25px;margin-bottom:45px}.join-banner h2{font-size:27px}.profile-grid{gap:11px}.profile-image{height:190px}.profile-info{padding:11px}.profile-info h3{font-size:13px}.card-actions .btn{padding:9px;font-size:10px}.auth-card{padding:25px 20px}.auth-card.wide{padding:24px 18px}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.search-bar{align-items:stretch}.search-bar label{min-width:calc(50% - 8px)}.match-row{gap:10px}.match-row .btn{font-size:10px;padding:10px}.chat-wrap{display:flex;flex-direction:column;padding:0 10px}.chat-sidebar{border-radius:12px 12px 0 0;padding:12px}.chat-sidebar h2{margin:6px}.chat-contact{display:inline-flex;margin-right:5px}.chat-contact img{width:36px;height:36px}.chat-panel{border-radius:0 0 12px 12px;min-height:440px}.chat-header .muted{display:none}.messages{min-height:300px}.chat-compose{padding:9px}.chat-compose .btn{padding:12px}footer{padding:25px 6%;gap:10px}footer p{width:100%;margin:0}.footer-links{margin:7px 0;gap:12px}.footer-links a{font-size:9px}}