@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--pink:#e84f78;--pink-dark:#c92e60;--plum:#28172f;--ink:#282333;--muted:#777180;--line:#eee4ec;--bg:#fff9fc;--card:#fff;--shadow:0 14px 38px rgba(54,24,49,.09);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button,.btn{border:0;cursor:pointer;border-radius:13px;padding:12px 18px;background:var(--pink);color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s,background .2s}button:hover,.btn:hover{background:var(--pink-dark);transform:translateY(-1px)}.btn.secondary,button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.dark{background:var(--plum)}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.brand{font:800 25px Manrope,sans-serif;letter-spacing:-1.1px;color:var(--plum)}.brand span{color:var(--pink)}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px}.site-logo{display:inline-block;max-width:180px;max-height:54px;width:auto;height:auto;object-fit:contain;vertical-align:middle}.nav{display:flex;align-items:center;gap:12px}.muted{color:var(--muted)}.eyebrow{display:inline-block;color:var(--pink-dark);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.7px}.landing-page{background:linear-gradient(180deg,#fff8fb,#fff 55%,#fff7fb);overflow-x:hidden;position:relative}.landing-page main,.landing-page header,.landing-page .landing-install-row,.landing-page footer{position:relative;z-index:1}.floating-love-bg{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.floating-love-bg span{position:absolute;bottom:-60px;color:#e84f7820;font-size:clamp(24px,4vw,54px);animation:float-love 19s linear infinite}.floating-love-bg span:nth-child(1){left:4%;animation-delay:-3s}.floating-love-bg span:nth-child(2){left:15%;animation-delay:-12s;font-size:34px}.floating-love-bg span:nth-child(3){left:28%;animation-delay:-7s}.floating-love-bg span:nth-child(4){left:43%;animation-delay:-16s;font-size:42px}.floating-love-bg span:nth-child(5){left:57%;animation-delay:-2s}.floating-love-bg span:nth-child(6){left:68%;animation-delay:-10s;font-size:30px}.floating-love-bg span:nth-child(7){left:79%;animation-delay:-14s}.floating-love-bg span:nth-child(8){left:91%;animation-delay:-5s;font-size:38px}@keyframes float-love{0%{transform:translateY(0) rotate(0);opacity:0}12%{opacity:.8}85%{opacity:.55}100%{transform:translateY(-115vh) rotate(28deg);opacity:0}}.landing-topbar{border-bottom:1px solid #f3e8ef}.landing-install-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0 18px;color:var(--muted);font-size:14px}.landing-install-row button{padding:10px 15px;font-size:13px}.home-banner-slider{position:relative;overflow:hidden;border-radius:28px;background:#f7dce8;box-shadow:var(--shadow);isolation:isolate}.banner-track{display:flex;flex-wrap:nowrap;align-items:stretch;transition:transform .7s cubic-bezier(.22,.75,.25,1);will-change:transform}.home-banner-slide{position:relative;flex:0 0 100%;width:100%;min-width:100%;height:clamp(300px,38vw,460px);overflow:hidden;display:flex;align-items:center;background:linear-gradient(120deg,#f8c8d9,#d9c9fb 60%,#f7dfe8)}.home-banner-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,23,47,.76),rgba(40,23,47,.28) 58%,rgba(40,23,47,.03));pointer-events:none}.banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.home-banner-copy{position:relative;z-index:1;padding:clamp(26px,5vw,64px);max-width:720px;color:#fff}.home-banner-copy .eyebrow{color:#ffe2ed}.home-banner-copy h1{font:800 clamp(30px,4.2vw,54px)/1.08 Manrope,sans-serif;letter-spacing:-1.8px;margin:12px 0}.home-banner-copy p{max-width:560px;color:#fff;font-size:clamp(14px,1.5vw,18px);line-height:1.7;margin:0}.banner-slide-default:after{background:linear-gradient(115deg,rgba(95,29,65,.7),rgba(105,54,105,.18))}.banner-dots{position:absolute;z-index:3;bottom:18px;left:0;right:0;display:flex;justify-content:center;gap:8px}.banner-dots button{padding:0;width:9px;height:9px;border-radius:20px;background:#ffffff9c;min-width:0;transition:width .2s}.banner-dots button.active{width:26px;background:#fff}.landing-auth-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 34px;margin-top:24px;margin-bottom:38px;background:#fff;border:1px solid #f2e3eb;border-radius:24px;box-shadow:0 10px 28px #47203b08}.landing-auth-cta h2{font:800 clamp(21px,2.6vw,29px)/1.2 Manrope,sans-serif;margin:0 0 6px}.landing-auth-cta p{margin:0;color:var(--muted)}.landing-auth-buttons{display:flex;gap:12px;flex-shrink:0}.landing-primary{min-width:120px;box-shadow:0 8px 18px #e84f7830}.landing-signin{background:#fff;color:var(--pink-dark);border:1px solid #f0b9cb;min-width:120px}.member-marquee-section{padding:12px 0 34px;position:relative}.landing-section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}.landing-section-heading h2{font:800 clamp(24px,3vw,32px)/1.2 Manrope,sans-serif;margin:4px 0 0;letter-spacing:-.7px}.member-marquee{width:100%;overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.marquee-track{display:flex;flex-flow:row nowrap;align-items:stretch;gap:16px;width:max-content;animation:marquee-right 42s linear infinite;will-change:transform}.marquee-left .marquee-track{animation-name:marquee-left;animation-duration:45s}.member-marquee:hover .marquee-track{animation-play-state:paused}.marquee-card{flex:0 0 220px;width:220px;min-width:220px}.landing-member-card{overflow:hidden;border:1px solid #f0e3ec;border-radius:20px;background:#fff;box-shadow:0 8px 24px #35132b0c}.landing-member-photo{height:230px;position:relative;overflow:hidden;background:linear-gradient(140deg,#f9d5e3,#d9d0fb)}.landing-member-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.landing-member-body{padding:13px 15px 16px}.landing-member-body h3{font:800 16px Manrope,sans-serif;margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing-member-body p{font-size:12px;color:var(--muted);margin:0 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-view-link{color:var(--pink-dark);font-weight:800;font-size:12px}.member-role-tag{position:absolute;top:12px;left:12px;border-radius:99px;background:#fff;color:var(--pink-dark);padding:5px 10px;font-size:11px;font-weight:800;box-shadow:0 4px 12px #0001}.featured-tag{background:#2d1733;color:#ffe5a7}@keyframes marquee-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}@keyframes marquee-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}.vip-marquee-section{padding-bottom:54px}.landing-footer{background:#28172f;color:#d9cbdc;text-align:left;padding:32px 0;margin-top:10px}.landing-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.landing-footer .brand{color:#fff}.landing-footer p{margin:0;font-size:13px}.landing-footer a{color:inherit}.footer{padding:30px 16px;color:var(--muted);border-top:1px solid var(--line);font-size:13px}.footer div{margin:4px auto}.footer a{text-decoration:underline}.landing-footer .footer-links,.landing-footer-inner>div{font-size:12px}
/* Shared application pages */
.hero{padding:32px 0 54px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px}.hero h1{font:800 clamp(38px,5vw,64px)/1.05 Manrope,sans-serif;letter-spacing:-2.5px;margin:12px 0}.hero p{color:var(--muted);font-size:18px;line-height:1.6}.hero-art{border-radius:34px;min-height:430px;background:linear-gradient(145deg,#ffd7e5,#f8a8c5 48%,#bfa9fa);display:flex;align-items:end;padding:24px;overflow:hidden;position:relative}.hero-art:before{content:'♥';position:absolute;font-size:240px;color:#ffffff45;right:18px;top:-50px}.hero-note{background:#ffffffdf;backdrop-filter:blur(12px);padding:18px;border-radius:20px;z-index:1;max-width:280px}.section{padding:28px 0 52px}.section h2{font:800 28px Manrope,sans-serif}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 8px 28px #39203608}.profile-card{padding:0;overflow:hidden}.profile-photo{height:260px;background:linear-gradient(135deg,#ffd3e2,#c6b6ff);display:flex;align-items:center;justify-content:center;color:#fff;font-size:64px;overflow:hidden}.profile-photo img{width:100%;height:100%;object-fit:cover}.profile-body{padding:16px}.pill{display:inline-flex;padding:6px 10px;border-radius:99px;background:#fff0f5;color:#b91d59;font-size:12px;font-weight:700}.form-wrap{width:min(520px,calc(100% - 32px));margin:38px auto}.form-wrap .card{padding:28px}.form-wrap h1{font:800 30px Manrope;margin:0 0 8px}.field{display:flex;flex-direction:column;gap:7px;margin:14px 0}.field label{font-weight:700;font-size:13px}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #e7dfe6;border-radius:12px;background:#fff;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--pink);box-shadow:0 0 0 3px #f6337817}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.alert{padding:12px 14px;border-radius:12px;background:#fff0f4;margin:12px 0}.alert.success{background:#eafaf3;color:#17684c}.alert.error{background:#fff0f0;color:#9f2424}.dash{display:grid;grid-template-columns:230px 1fr;gap:22px;padding:22px 0 50px}.sidebar{align-self:start;position:sticky;top:16px}.sidebar a{display:block;padding:12px;border-radius:12px;color:#5f5662}.sidebar a.active,.sidebar a:hover{background:#ffeaf2;color:#c91f60}.dash-main h1{font:800 30px Manrope;margin:4px 0 20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat strong{display:block;font:800 25px Manrope;margin-top:8px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:620px}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px}.table th{color:var(--muted);font-size:12px;text-transform:uppercase}.chat-list a{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.message{max-width:78%;padding:12px 14px;background:#f5eff4;border-radius:16px;margin:8px 0}.message.mine{margin-left:auto;background:#ffe0eb}.bottom-nav{display:none}.split{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.tag-row{display:flex;gap:8px;flex-wrap:wrap}.danger{color:#b42318}.small{font-size:12px}.empty{padding:28px;text-align:center;color:var(--muted)}.profile-scroller,.female-marquee{display:flex;overflow:auto;gap:14px;scrollbar-width:thin}.profile-scroller.dragging{cursor:grabbing}
@media(max-width:800px){.container{width:calc(100% - 28px)}.hero{grid-template-columns:1fr;padding-top:18px;gap:20px}.hero-art{min-height:260px}.grid{grid-template-columns:repeat(2,1fr)}.dash{grid-template-columns:1fr}.sidebar{display:none}.stats{grid-template-columns:repeat(2,1fr)}.topbar{min-height:62px}.nav .hide-mobile{display:none}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fff;border-top:1px solid var(--line);justify-content:space-around;padding:9px 3px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px #241b270b}.bottom-nav a{font-size:11px;color:#6f6570;text-align:center;display:flex;flex-direction:column;gap:3px}.bottom-nav a span{font-size:19px}.dash{padding-bottom:100px}.footer{padding-bottom:90px}.home-banner-slider{border-radius:20px}.home-banner-slide{height:350px}.home-banner-copy{padding:28px}.landing-auth-cta{align-items:flex-start;flex-direction:column;padding:24px;margin-top:18px;margin-bottom:28px}.landing-auth-buttons{width:100%}.landing-auth-buttons .btn{flex:1}.marquee-card{flex-basis:190px;width:190px;min-width:190px}.landing-member-photo{height:205px}.landing-footer-inner{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:480px){.container{width:calc(100% - 24px)}.grid{grid-template-columns:1fr}.hero h1{font-size:40px}.form-wrap{width:calc(100% - 24px);margin:18px auto}.form-wrap .card{padding:20px}.stats{gap:8px}.stat strong{font-size:21px}.profile-photo{height:300px}.brand{font-size:22px}.landing-install-row{font-size:12px}.landing-install-row button{padding:9px 11px}.home-banner-slide{height:320px}.home-banner-copy h1{font-size:30px;letter-spacing:-.8px}.home-banner-copy p{font-size:14px}.landing-auth-cta h2{font-size:22px}.landing-auth-buttons{gap:8px}.landing-auth-buttons .btn{min-width:0;padding:12px 14px}.marquee-card{flex-basis:168px;width:168px;min-width:168px}.landing-member-photo{height:180px}.landing-section-heading h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Dashboard reliability improvements */
.profile-scroller{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;align-items:stretch;padding:2px 2px 14px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.profile-scroller .profile-card{flex:0 0 250px;min-width:250px;scroll-snap-align:start}.profile-photo{height:245px;min-height:245px}.profile-photo img{display:block;width:100%;height:100%;object-fit:cover}.subscription-active{border-color:#f7bfd5;background:linear-gradient(135deg,#fff,#fff0f6)}.countdown{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:14px;background:#f51d68;color:#fff;font-weight:800;white-space:nowrap}.chat-list{overflow:hidden}.chat-list a{display:flex;align-items:center;text-decoration:none}.chat-list a:hover{color:#c91f60;background:#fff8fb}@media(max-width:600px){.profile-scroller .profile-card{flex-basis:210px;min-width:210px}.profile-photo{height:220px;min-height:220px}.countdown{white-space:normal;margin-top:8px}.dash-main .section{scroll-margin-top:12px}}

/* Dashboard discover: true horizontal swipe/trackpad scroller */
.dash-main .profile-scroller{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:16px;width:100%;padding:4px 2px 16px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-x:contain;scrollbar-width:thin}
.dash-main .profile-scroller>.profile-card{flex:0 0 250px;width:250px;min-width:250px;scroll-snap-align:start}
.dash-main .profile-scroller .profile-photo{height:245px;min-height:245px}
@media(max-width:600px){.dash-main .profile-scroller>.profile-card{flex-basis:210px;width:210px;min-width:210px}.dash-main .profile-scroller .profile-photo{height:220px;min-height:220px}.dash-main .profile-scroller{scrollbar-width:none}.dash-main .profile-scroller::-webkit-scrollbar{display:none}}

/* Mobile dashboard navigation and discover scroller fixes */
.install-app-btn{white-space:nowrap;padding:10px 12px;font-size:12px}
.bottom-nav{gap:2px}
.bottom-nav a{min-width:0;flex:1;text-decoration:none}
.dash-main{min-width:0}
.dash-main .profile-scroller{width:100%;max-width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.dash-main .profile-scroller>.profile-card{flex:0 0 250px;min-width:250px;width:250px}
@media(max-width:800px){.topbar .nav{gap:6px}.topbar .nav .pill{display:none}.topbar .nav .install-app-btn{padding:9px 10px;font-size:11px}.dash-main .split form{width:100%;display:flex;gap:8px}.dash-main .split form input{min-width:0;flex:1}.dash-main .split form button{flex:0 0 auto}.dash-main .profile-scroller{margin-right:-2px;padding-right:4px}.dash-main .profile-scroller>.profile-card{flex-basis: min(72vw, 230px);width:min(72vw,230px);min-width:min(72vw,230px)}.bottom-nav a{font-size:10px}.bottom-nav a span{line-height:1.1}}
@media(max-width:420px){.topbar .brand{font-size:20px}.topbar .nav .install-app-btn{font-size:10px;padding:8px}.topbar .nav .btn.secondary{font-size:11px;padding:8px 9px}.bottom-nav a{font-size:9px}}

/* FndMe.club supplied brand artwork: responsive website navigation logo */
.site-logo{display:block;width:clamp(128px,18vw,190px);height:auto;max-width:100%;max-height:58px;object-fit:contain;object-position:left center}
.topbar .brand:has(.site-logo){display:flex;align-items:center;min-width:0;max-width:45vw}
@media(max-width:480px){.site-logo{width:clamp(112px,34vw,150px);max-height:44px}.topbar .brand:has(.site-logo){max-width:42vw}.topbar{gap:8px}}

/* Brand update: keep the full wordmark legible without causing mobile header overflow. */
.site-logo{width:clamp(118px,19vw,190px);height:auto;max-height:58px;object-fit:contain;object-position:left center}
@media(max-width:600px){.site-logo{width:clamp(108px,34vw,150px);max-height:48px}.topbar .brand:has(.site-logo){max-width:43vw;overflow:hidden}.site-header .landing-brand-logo img{width:clamp(112px,35vw,155px);max-height:46px}}
@media(max-width:360px){.site-logo{width:108px;max-height:40px}.topbar .brand:has(.site-logo){max-width:38vw}}

/* Homepage install action immediately below the header */
.landing-install-row.container{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 auto;padding:12px 0 16px;color:var(--muted);font-size:13px}
.landing-install-row .install-app-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:40px;padding:10px 15px;border:0;border-radius:999px;background:var(--pink);color:#fff;font-size:13px;font-weight:800;white-space:nowrap;box-shadow:0 6px 16px #e84f7830}
.landing-install-row .install-app-btn[hidden]{display:none!important}
@media(max-width:480px){.landing-install-row.container{padding:10px 0 14px;font-size:11px;gap:8px}.landing-install-row .install-app-btn{min-height:38px;padding:9px 11px;font-size:11px}}

/* FndMe discovery refinements */

.fnd-user-card .fnd-call-btn{text-align:center;text-decoration:none}
.fnd-user-card .fnd-user-photo img{display:block}
@media(max-width:520px){.fnd-profile-row{margin-right:-2px}.fnd-user-card{flex-basis:142px}.fnd-user-photo{height:118px}}

.install-app-btn{background:linear-gradient(135deg,#f51d68,#9c2bd1)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:11px 17px!important;font-weight:800;box-shadow:0 8px 22px #f51d6835}@media(max-width:600px){.install-app-btn{font-size:11px;padding:9px 11px!important}}

/* FndMe.club photo consistency: identical portrait frame across member cards. */
.discover-card .profile-photo,.fnd-user-photo,.liked-me-card .profile-photo,
.profile-card .profile-photo,.profile-photo-wrap{
 width:100%!important;aspect-ratio:4/5!important;height:auto!important;min-height:0!important;
 overflow:hidden!important;background:#f8edf3!important;display:block!important;
}
.discover-card .profile-photo img,.fnd-user-photo img,.liked-me-card .profile-photo img,
.profile-card .profile-photo img,.profile-photo-wrap img{
 display:block!important;width:100%!important;height:100%!important;
 object-fit:cover!important;object-position:center center!important;
}

/* Keep horizontal Who-Liked-Me thumbnails compact while retaining a consistent portrait crop. */
.liked-me-card>img{width:72px!important;height:90px!important;min-width:72px!important;max-width:72px!important;aspect-ratio:auto!important;flex:0 0 72px!important;object-fit:cover!important;border-radius:12px!important}
