:root{--wine:#7e183d;--wine2:#4d0d26;--ink:#20161b;--cream:#fff9f6;--muted:#7b6b73;--line:#eadfe3;--gold:#d9a86c;--ok:#247a52}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 32px));margin:auto}.nav{position:sticky;top:0;z-index:20;background:rgba(255,249,246,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(126,24,61,.08)}.navin{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:900;font-size:22px;letter-spacing:-.5px;color:var(--wine)}.navlinks{display:flex;gap:22px;align-items:center;color:#59474f}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid transparent;background:var(--wine);color:white;font-weight:800;cursor:pointer}.btn.secondary{background:white;color:var(--wine);border-color:#d8bdc8}.btn.dark{background:#20161b}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.hero{min-height:690px;display:grid;align-items:center;background:linear-gradient(90deg,rgba(18,7,13,.72),rgba(18,7,13,.18) 50%,rgba(18,7,13,.05)),url('/assets/hero.webp') center/cover}.hero .content{max-width:620px;color:white;padding:86px 0}.eyebrow{font-weight:900;letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:#f5cfaa}.hero h1{font-size:clamp(46px,7vw,78px);line-height:.96;letter-spacing:-3px;margin:14px 0 20px}.hero p{font-size:20px;line-height:1.55;max-width:560px;color:#f8ecef}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.pill{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.23);padding:10px 14px;border-radius:999px;margin-right:8px;font-weight:700}.section{padding:88px 0}.section h2{font-size:clamp(34px,5vw,52px);letter-spacing:-2px;margin:0 0 16px}.lead{font-size:19px;color:var(--muted);line-height:1.65;max-width:720px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}.card{background:white;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:0 12px 36px rgba(65,23,40,.06)}.card h3{margin:12px 0 8px}.icon{width:46px;height:46px;border-radius:14px;background:#f7e9ef;color:var(--wine);display:grid;place-items:center;font-weight:900}.split{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:56px}.split img{border-radius:28px;box-shadow:0 30px 70px rgba(45,13,27,.18);aspect-ratio:4/3;object-fit:cover}.band{background:#211218;color:white}.band .lead{color:#dfcfd6}.gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.gallery img{height:100%;width:100%;object-fit:cover;border-radius:26px}.gallery .stack{display:grid;gap:18px}.gallery .stack img{min-height:240px}.quote{font-size:30px;line-height:1.25;letter-spacing:-1px}.cta{background:linear-gradient(135deg,var(--wine2),#9b2853);color:white;border-radius:34px;padding:54px;display:flex;justify-content:space-between;align-items:center;gap:28px}.footer{padding:42px 0;border-top:1px solid var(--line);color:var(--muted)}.footerin{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.legal{display:flex;gap:16px;flex-wrap:wrap}.agegate{position:fixed;inset:0;z-index:100;background:rgba(16,7,11,.78);display:grid;place-items:center;padding:24px}.agebox{width:min(520px,100%);background:white;border-radius:28px;padding:34px;box-shadow:0 30px 100px rgba(0,0,0,.35)}.agebox h2{font-size:36px;margin:0 0 12px}.hide{display:none!important}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:7px}.field label{font-size:13px;font-weight:800;color:#6f5862}.field input,.field select,.field textarea{width:100%;border:1px solid #dacbd1;border-radius:14px;padding:13px;background:white;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(126,24,61,.1)}.authwrap{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.authphoto{background:url('/assets/stroll.webp') center/cover}.authpanel{display:grid;place-items:center;padding:34px}.authbox{width:min(520px,100%)}.tabs{display:flex;gap:8px;margin:18px 0}.tab{border:1px solid var(--line);background:white;padding:10px 16px;border-radius:999px;cursor:pointer;font-weight:800}.tab.active{background:var(--wine);color:white}.notice{padding:12px 14px;border-radius:14px;background:#f8ebf0;color:#772342;margin:12px 0}.notice.ok{background:#e9f7f0;color:#205f45}.appbody{background:#f8f4f5;min-height:100vh}.appnav{background:white;border-bottom:1px solid var(--line)}.appnav .container{height:68px;display:flex;align-items:center;justify-content:space-between}.appnavlinks{display:flex;gap:8px}.appnavlinks button{background:transparent;border:0;padding:10px 12px;border-radius:10px;cursor:pointer;font-weight:800}.appnavlinks button.active{background:#f7e9ef;color:var(--wine)}.appmain{padding:32px 0 60px}.discover{display:grid;grid-template-columns:minmax(0,680px) 1fr;gap:24px}.profilecard{background:white;border-radius:28px;overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 50px rgba(65,23,40,.09)}.profilephoto{height:520px;background:#ddd;position:relative}.profilephoto img{width:100%;height:100%;object-fit:cover}.badge{position:absolute;top:16px;left:16px;background:white;color:var(--ok);padding:8px 10px;border-radius:999px;font-weight:900;font-size:12px}.profileinfo{padding:24px}.profileinfo h2{font-size:34px;margin:0}.profileinfo p{color:var(--muted);line-height:1.5}.swipeactions{display:flex;gap:12px;margin-top:18px}.roundbtn{width:58px;height:58px;border-radius:50%;border:1px solid var(--line);background:white;font-size:22px;cursor:pointer}.roundbtn.like{background:var(--wine);color:white}.sidecard{background:white;border-radius:22px;padding:22px;border:1px solid var(--line);height:max-content}.matchlist{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.matchcard{background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden;cursor:pointer}.matchcard img{height:220px;width:100%;object-fit:cover}.matchcard div{padding:14px}.chat{display:grid;grid-template-columns:280px 1fr;background:white;border:1px solid var(--line);border-radius:24px;overflow:hidden;min-height:650px}.chatlist{border-right:1px solid var(--line);padding:12px}.chatitem{padding:12px;border-radius:14px;cursor:pointer}.chatitem:hover,.chatitem.active{background:#f8ebf0}.chatpane{display:flex;flex-direction:column}.messages{flex:1;padding:20px;overflow:auto;display:flex;flex-direction:column;gap:10px}.bubble{max-width:70%;padding:12px 14px;border-radius:18px;background:#f1edef}.bubble.mine{align-self:flex-end;background:var(--wine);color:white}.composer{display:flex;gap:10px;padding:14px;border-top:1px solid var(--line)}.composer input{flex:1;border:1px solid var(--line);border-radius:999px;padding:12px 16px}.settings{display:grid;grid-template-columns:1fr 1fr;gap:18px}.small{font-size:13px;color:var(--muted)}@media(max-width:850px){.navlinks a:not(.btn){display:none}.hero{min-height:650px;background-position:62% center}.hero .content{padding:60px 0}.grid3,.split,.discover,.settings{grid-template-columns:1fr}.split{gap:28px}.gallery{grid-template-columns:1fr}.cta{align-items:flex-start;flex-direction:column}.authwrap{grid-template-columns:1fr}.authphoto{display:none}.appnavlinks button span{display:none}.matchlist{grid-template-columns:1fr 1fr}.chat{grid-template-columns:1fr}.chatlist{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow:auto}.chatitem{min-width:160px}}@media(max-width:520px){.container{width:min(100% - 22px,1160px)}.hero h1{letter-spacing:-2px}.section{padding:64px 0}.formrow{grid-template-columns:1fr}.matchlist{grid-template-columns:1fr}.profilephoto{height:430px}.cta{padding:34px}.appnav .brand{font-size:17px}}

/* v1.1 onboarding + member experience */
.authphoto{position:relative;background-image:linear-gradient(180deg,rgba(28,11,18,.05),rgba(28,11,18,.7)),url('/assets/stroll.webp');display:flex;align-items:flex-end;padding:54px}.authphotoCopy{color:#fff;max-width:520px}.authphotoCopy h1{font-size:clamp(48px,6vw,76px);line-height:.95;letter-spacing:-3px;margin:10px 0}.authphotoCopy p{font-size:19px;color:#f4e8ec}.microcopy{font-size:12px;color:var(--muted);margin-top:5px}.onboardBody{min-height:100vh;background:#f8f4f5}.onboardShell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.onboardVisual{background:linear-gradient(180deg,rgba(24,8,15,.08),rgba(24,8,15,.66)),url('/assets/hero.webp') center/cover;display:flex;align-items:flex-end;padding:56px}.onboardVisualText{color:#fff;max-width:560px}.onboardVisualText h1{font-size:clamp(50px,6vw,78px);line-height:.95;letter-spacing:-3px;margin:10px 0 18px}.onboardVisualText p{font-size:19px;color:#f8edf1}.onboardPanel{display:grid;place-items:center;padding:34px;background:#fff9f6}.onboardInner{width:min(560px,100%)}.onboardInner h2{font-size:42px;letter-spacing:-2px;margin:14px 0 8px}.stepBadge{display:inline-flex;margin-top:22px;padding:8px 11px;border-radius:999px;background:#f7e9ef;color:var(--wine);font-size:12px;font-weight:900}.photoSetup{margin-top:24px}.photoDrop{display:flex;align-items:center;gap:18px;padding:16px;border:1.5px dashed #caa8b6;border-radius:22px;background:white;cursor:pointer;transition:.2s}.photoDrop:hover{border-color:var(--wine);background:#fff}.photoDrop img{width:94px;height:112px;border-radius:18px;object-fit:cover;background:#eee}.photoDrop span{display:grid;gap:5px}.photoDrop strong{font-size:17px}.photoDrop small{color:var(--muted)}.navIcon{display:inline-grid;place-items:center;width:22px;height:22px}.personIcon{position:relative}.personIcon:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:currentColor;top:2px;left:7px}.personIcon:after{content:"";position:absolute;width:15px;height:9px;border-radius:9px 9px 5px 5px;background:currentColor;bottom:2px;left:3.5px}.discoverSide{overflow:hidden}.discoverSide .miniPhoto{margin:-22px -22px 18px;height:155px}.discoverSide .miniPhoto img{width:100%;height:100%;object-fit:cover}.discoverSide hr,.accountCard hr{border:0;border-top:1px solid var(--line);margin:20px 0}.textButton{border:0;background:transparent;padding:0;font:inherit;color:var(--wine);font-weight:800;cursor:pointer;display:block;margin-bottom:12px}.emptyDiscover{background:white;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 18px 50px rgba(65,23,40,.08)}.emptyDiscover img{width:100%;height:330px;object-fit:cover}.emptyCopy{padding:28px}.emptyCopy h2{font-size:38px;letter-spacing:-1.5px;margin:8px 0 10px}.emptyCopy p{color:var(--muted);line-height:1.6}.chatHeader{padding:16px 20px;border-bottom:1px solid var(--line);font-weight:900}.profileEditTop{display:flex;align-items:center;gap:18px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.profileEditTop img{width:96px;height:112px;border-radius:18px;object-fit:cover;background:#eee}.photoButton{margin-bottom:6px}.accountCard .actions{display:grid;margin-top:14px}.invitepage{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(90deg,rgba(18,7,13,.72),rgba(18,7,13,.22)),url('/assets/hero.webp') center/cover}.invitecard{width:min(600px,100%);background:rgba(255,249,246,.96);backdrop-filter:blur(12px);border-radius:30px;padding:40px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.invitecard h1{font-size:52px;letter-spacing:-2.5px;line-height:.96;margin:12px 0 18px}.invitecard p{font-size:18px;color:var(--muted);line-height:1.6;margin-bottom:26px}
@media(max-width:850px){.onboardShell{grid-template-columns:1fr}.onboardVisual{min-height:330px;padding:30px}.onboardVisualText h1{font-size:50px}.onboardPanel{padding:28px 20px}.emptyDiscover img{height:240px}.authphoto{display:none}}
@media(max-width:520px){.onboardVisual{min-height:270px;background-position:68% center}.onboardVisualText h1{font-size:42px}.onboardVisualText p{font-size:15px}.onboardInner h2{font-size:34px}.photoDrop img{width:82px;height:100px}.emptyCopy{padding:22px}.emptyCopy h2{font-size:31px}.invitecard{padding:28px}.invitecard h1{font-size:40px}.appnavlinks button{padding:9px}.appnavlinks .navIcon{width:24px;height:24px}.profileEditTop{align-items:flex-start}}
