*{box-sizing:border-box}
:root{
--navy:#071a3a;
--orange:#ff6b2c;
--pink:#ff2876;
--blue:#2588ff;
--green:#16b978;
--muted:#617087;
--line:#e6ebf2;
--bg:#f7f9fc;
}
html{scroll-behavior:smooth}
body{
margin:0;
font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
color:var(--navy);
background:#fff;
}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.screen{display:none}
.screen.active{display:block}
.marketing{max-width:none!important;padding:0!important}
#toast{
display:none;position:fixed;top:84px;left:50%;transform:translateX(-50%);
background:#071a3a;color:white;padding:12px 20px;border-radius:30px;
z-index:9999;box-shadow:0 10px 30px #0003;font-weight:700
}

/* HEADER */
.top{
height:76px;background:#fff;display:flex;align-items:center;justify-content:space-between;
padding:0 max(32px,5vw);position:sticky;top:0;z-index:1000;
border-bottom:1px solid #edf0f4
}
.brand-wrap{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.logo{font-size:31px}
.brand{font-size:26px;font-weight:900;letter-spacing:-1px}
.brand span,.section-title span,.footer-logo span{color:var(--orange)}
.tag{font-size:10px;color:#607086;font-weight:600}
.desktop-menu{display:flex;gap:34px}
.desktop-menu a{color:#0a1834;text-decoration:none;font-size:14px;font-weight:650}
.top-actions{display:flex;align-items:center;gap:12px}
.language{font-size:13px}
.login-top,.signup-top{
border-radius:24px;padding:10px 22px;font-weight:750;background:white
}
.login-top{border:1px solid #aeb8c7;color:#071a3a}
.signup-top{border:0;color:white;background:linear-gradient(90deg,var(--orange),var(--pink))}

/* HERO */
.hero-shell{
min-height:610px;
padding:54px max(38px,6vw) 44px;
display:grid;grid-template-columns:.95fr 1.25fr;gap:45px;align-items:center;
background:
radial-gradient(circle at 78% 20%,#ffdfc7 0,transparent 24%),
radial-gradient(circle at 85% 80%,#ffd6e4 0,transparent 25%),
linear-gradient(115deg,#fff 0%,#f8fbff 43%,#fff3ea 100%);
overflow:hidden
}
.eyebrow{
display:inline-block;background:#eaf5ff;color:#155ba0;padding:8px 14px;border-radius:18px;
font-size:12px;font-weight:850;letter-spacing:.3px
}
.hero-copy h1{
font-size:clamp(48px,5.5vw,79px);line-height:.94;letter-spacing:-4px;
margin:18px 0 20px;max-width:700px
}
.hero-copy h1 span{
background:linear-gradient(90deg,var(--orange),var(--pink));
-webkit-background-clip:text;background-clip:text;color:transparent
}
.hero-sub{font-size:20px;line-height:1.45;color:#41516a;max-width:620px}
.question-cloud{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}
.question-cloud span{
background:white;border:1px solid #edf0f4;border-radius:22px;padding:9px 13px;
box-shadow:0 5px 18px #23395d12;font-size:13px;font-weight:700
}
.activity-row{display:flex;gap:12px;margin:24px 0}
.activity-row div{
width:68px;height:70px;border-radius:20px;background:#fff7ef;
display:flex;flex-direction:column;align-items:center;justify-content:center;
box-shadow:0 5px 20px #c7752b15
}
.activity-row b{font-size:25px}
.activity-row small{font-size:11px;font-weight:750;margin-top:4px}
.hero-cta{
border:0;border-radius:30px;color:white;font-size:17px;font-weight:850;
padding:16px 28px;background:linear-gradient(90deg,#ff792b,var(--pink));
box-shadow:0 13px 28px #ff5a5535
}
.hero-cta span{font-size:22px;margin-left:14px}
.trust-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;color:#3e4d62;font-size:12px;font-weight:700}

/* INTERNATIONAL PEOPLE */
.people-stage{
position:relative;min-height:510px;border-radius:36px;padding:22px;
background:
linear-gradient(#071a3a22,#071a3a33),
url("https://images.unsplash.com/photo-1525625293386-3f8f99389edd?auto=format&fit=crop&w=1400&q=82")
center/cover;
box-shadow:0 25px 60px #071a3a25
}
.stage-title{
background:#ffffffee;backdrop-filter:blur(8px);border-radius:20px;padding:13px 17px;
display:inline-flex;flex-direction:column;margin-bottom:18px
}
.stage-title strong{font-size:15px}
.stage-title span{font-size:11px;color:#66758b;margin-top:3px}
.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.person-card{
position:relative;background:#fffffff2;border:3px solid white;border-radius:23px;
box-shadow:0 10px 25px #0002;overflow:visible
}
.person-photo{height:145px;border-radius:19px 19px 0 0;background-size:cover;background-position:center}
.photo-jocelyn{background-image:url("https://images.unsplash.com/photo-1494790108377-be9c29b29330?auto=format&fit=crop&w=500&q=80")}
.photo-maria{background-image:url("https://images.unsplash.com/photo-1534528741775-53994a69daeb?auto=format&fit=crop&w=500&q=80")}
.photo-priya{background-image:url("https://images.unsplash.com/photo-1531123897727-8f129e1688ce?auto=format&fit=crop&w=500&q=80")}
.photo-kate{background-image:url("https://images.unsplash.com/photo-1524504388940-b1c1722653e1?auto=format&fit=crop&w=500&q=80")}
.person-info{padding:9px 12px;display:flex;justify-content:space-between;align-items:center}
.person-info strong{font-size:13px}
.person-info small{font-size:10px;color:#66758b}
.speech{
position:absolute;right:-8px;top:12px;background:white;border-radius:20px;
padding:9px 12px;max-width:125px;font-size:12px;font-weight:800;
box-shadow:0 6px 15px #0002
}
.mini-card{padding:11px 13px;display:flex;gap:10px;align-items:center}
.mini-avatar{
width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
background:#ffe9d9;font-size:25px
}
.mini-card strong,.mini-card small{display:block}
.mini-card strong{font-size:12px}
.mini-card small{font-size:10px;color:#66758b;margin-top:4px}

/* LANGUAGES */
.language-strip{
display:grid;grid-template-columns:repeat(6,1fr);gap:12px;padding:18px max(25px,4vw);
background:white;border-bottom:1px solid #edf0f4
}
.language-strip div{
min-height:76px;border-radius:18px;padding:13px;text-align:center;
display:flex;flex-direction:column;justify-content:center
}
.language-strip div:nth-child(1){background:#eaf4ff}
.language-strip div:nth-child(2){background:#fff1e5}
.language-strip div:nth-child(3){background:#ffeaf0}
.language-strip div:nth-child(4){background:#edf1ff}
.language-strip div:nth-child(5){background:#fff2eb}
.language-strip div:nth-child(6){background:#eff8e9}
.language-strip b{font-size:12px}
.language-strip span{font-size:11px;margin-top:5px;line-height:1.3}

/* AUTH */
.auth-zone{
padding:75px max(35px,8vw);display:grid;grid-template-columns:1fr 470px;gap:55px;
align-items:stretch;background:linear-gradient(135deg,#fff8f1,#f5f9ff)
}
.auth-visual{
min-height:540px;border-radius:34px;padding:52px;position:relative;overflow:hidden;
background:
linear-gradient(135deg,#071a3ae8,#143c72d9),
url("https://images.unsplash.com/photo-1529156069898-49953e39b3ac?auto=format&fit=crop&w=1200&q=82")
center/cover;color:white;box-shadow:0 24px 55px #071a3a20
}
.auth-label{font-size:11px;font-weight:850;letter-spacing:1.4px;color:#ffd6bf}
.auth-visual h2{font-size:48px;line-height:1.05;letter-spacing:-2px;margin:20px 0}
.auth-visual h2 span{color:#ffb08c}
.auth-visual>p{max-width:510px;line-height:1.6;color:#e9eff8}
.live-preview{
max-width:480px;margin-top:38px;background:#ffffffef;color:#071a3a;
border-radius:24px;padding:18px;box-shadow:0 15px 40px #0003
}
.live-person{display:flex;align-items:center;gap:11px}
.preview-avatar{
width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,#ff7a31,#ff2876);
color:white;display:grid;place-items:center;font-weight:900
}
.live-person strong,.live-person small{display:block}
.live-person small{color:#6a778a;font-size:11px;margin-top:3px}
.preview-message{font-weight:750;line-height:1.45;margin:16px 0}
.preview-tags{display:flex;gap:7px;flex-wrap:wrap}
.preview-tags span{background:#edf5ff;padding:6px 10px;border-radius:15px;font-size:11px}
.floating-note{
position:absolute;background:white;color:#071a3a;border-radius:20px;padding:9px 14px;
font-size:12px;font-weight:800;box-shadow:0 10px 20px #0002
}
.n1{right:35px;top:55px;transform:rotate(5deg)}
.n2{right:50px;bottom:95px;transform:rotate(-5deg)}
.n3{left:38px;bottom:28px;transform:rotate(3deg)}

.auth-card{
background:white!important;border:1px solid #e7ebf1;border-radius:30px!important;
padding:31px!important;box-shadow:0 22px 55px #071a3a13!important;margin:0!important
}
.auth-heading{text-align:center;margin-bottom:20px}
.auth-icon{
width:58px;height:58px;border-radius:18px;background:#fff1e8;display:grid;
place-items:center;font-size:29px;margin:0 auto 10px
}
.auth-heading h2{margin:0;font-size:24px}
.auth-heading p{font-size:12px;color:#728096}
.tabs{display:flex;background:#f2f4f7;padding:4px;border-radius:14px;margin-bottom:21px}
.tab{
width:50%;border:0;background:transparent;padding:11px;border-radius:11px;font-weight:800
}
.tab.active{background:white;box-shadow:0 3px 10px #071a3a12}
.auth-card label{font-size:11px;font-weight:800;display:block;margin:13px 0 6px}
.auth-card input{
width:100%;padding:13px 14px;border:1px solid #d8dee7;border-radius:12px;outline:none
}
.auth-card input:focus{border-color:#ff7a31;box-shadow:0 0 0 3px #ff7a3115}
.phone{display:grid;grid-template-columns:88px 1fr;gap:8px}
.primary{
width:100%;border:0;border-radius:13px;background:linear-gradient(90deg,#ff742d,#ff2876);
color:white;font-weight:850;padding:14px;margin-top:17px
}
.form-message,.auth-bottom,.small{
font-size:11px;color:#758298;text-align:center;line-height:1.5
}
.form-message{background:#f8fafc;border-radius:12px;padding:10px;margin-top:12px}
.auth-bottom{margin-top:20px;padding-top:16px;border-top:1px solid #edf0f4}

/* HOW IT WORKS */
.how-section,.feature-section{padding:70px max(28px,5vw)}
.section-title{text-align:center;margin-bottom:38px}
.section-title h2{font-size:36px;letter-spacing:-1.3px;margin:0}
.section-title p{color:#6a788e;margin-top:8px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:17px}
.step{
position:relative;background:white;border:1px solid #edf0f4;border-radius:25px;
padding:22px;text-align:center;box-shadow:0 10px 30px #071a3a09
}
.step-number{
position:absolute;left:13px;top:13px;width:30px;height:30px;border-radius:50%;
background:#071a3a;color:white;display:grid;place-items:center;font-weight:900
}
.step-art{
height:105px;border-radius:18px;background:linear-gradient(135deg,#eaf5ff,#fff0e5);
display:grid;place-items:center;font-size:34px;margin-bottom:18px
}
.step h3{font-size:15px;margin:0 0 8px}
.step p{font-size:12px;line-height:1.45;color:#65738a;margin:0}

/* FEATURES */
.feature-section{background:linear-gradient(180deg,#fff8f2,#fff)}
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.features article{text-align:center;padding:24px}
.feature-icon{
width:60px;height:60px;border-radius:50%;display:grid;place-items:center;
color:white;font-size:26px;margin:auto
}
.pink{background:#ff5076}.green{background:#19b77a}.purple{background:#8758ee}.blue{background:#2687f7}
.features h3{margin:14px 0 7px}
.features p{font-size:13px;color:#637188;line-height:1.5}

/* FINAL */
.final-banner{
min-height:330px;display:grid;place-items:center;text-align:center;color:white;
padding:55px 20px;
background:
linear-gradient(#071a3a90,#071a3a95),
url("https://images.unsplash.com/photo-1506869640319-fe1a24fd76dc?auto=format&fit=crop&w=1600&q=82")
center/cover
}
.final-banner h2{font-size:38px;margin:9px 0}
.final-banner p{color:#edf3fb}
.final-banner button{
border:0;border-radius:28px;padding:14px 24px;color:white;font-weight:850;
background:linear-gradient(90deg,#ff762c,#ff2876)
}
.footer{
padding:23px max(30px,5vw);display:flex;justify-content:space-between;
align-items:center;font-size:12px;color:#607086
}
.footer-logo{font-size:20px;font-weight:900;color:#071a3a}

/* LOGGED-IN APP */
.app-screen{max-width:720px;margin:auto;padding:30px 18px 105px}
.app-screen h2{font-size:28px;margin-bottom:5px}
.screenhead{display:flex;justify-content:space-between;align-items:center}
.screenhead p,.muted{color:#718096}
.card{
background:white;border:1px solid #e5e9ef;border-radius:20px;padding:18px;
margin:12px 0;box-shadow:0 7px 25px #071a3a0a
}
.app-screen input,.app-screen textarea,.app-screen select{
width:100%;border:1px solid #d8dee7;border-radius:12px;padding:13px;margin:7px 0
}
.app-screen textarea{min-height:110px;resize:vertical}
.app-screen label{font-size:12px;font-weight:800}
.hours{display:flex;gap:8px;margin:8px 0}
.hours button{flex:1;border:1px solid #dce2e9;background:white;border-radius:10px;padding:10px}
.hours button.selected{background:#071a3a;color:white}
.secondary,.danger{
width:100%;padding:12px;border-radius:12px;margin-top:8px;background:white
}
.secondary{border:1px solid #ccd4df}
.danger{border:1px solid #ffc6c6;color:#c52d2d}
.iconbtn{border:0;background:#edf3fb;border-radius:12px;padding:10px}
.plan{background:white;border:1px solid #e5e9ef;border-radius:20px;padding:17px;margin:12px 0}
.who{display:flex;align-items:center;gap:10px}
.avatar{
width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#ff762c,#ff2876);
color:white;display:grid;place-items:center;font-weight:900
}
.name{font-weight:850}.distance{font-size:11px;color:#7a8799}
.plantext{font-size:17px;font-weight:750;margin:15px 0}
.chips{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}
.chip{font-size:11px;background:#eef4fb;padding:6px 9px;border-radius:15px}
.interest,.approve{
border:0;background:#071a3a;color:white;border-radius:11px;padding:11px 14px;font-weight:750
}
.decline{border:1px solid #ccd4df;background:white;border-radius:11px;padding:10px 14px}
.actionrow{display:flex;gap:8px;margin-top:10px}
.empty{text-align:center;color:#7a8799;padding:35px 10px}
#messages{min-height:250px}
.bubble{
max-width:80%;background:#eef2f7;border-radius:15px;padding:10px 13px;margin:8px 0
}
.bubble.mine{margin-left:auto;background:#dff1ff}
.sendrow{display:flex;gap:7px}
.sendrow input{flex:1}
.sendrow button{width:48px;border:0;border-radius:12px;background:#071a3a;color:white}
.bottom{
position:fixed;bottom:0;left:50%;transform:translateX(-50%);
width:min(720px,100%);height:72px;background:#fffffff7;backdrop-filter:blur(12px);
border-top:1px solid #e5e9ef;display:flex;z-index:900
}
.bottom button{
flex:1;border:0;background:transparent;color:#718096;font-size:10px;font-weight:750
}
.bottom button span{display:block;font-size:21px;margin-bottom:3px}
.bottom button.active{color:#ff5d35}

/* MOBILE */
@media(max-width:900px){
.desktop-menu,.language{display:none}
.top{padding:0 16px;height:68px}
.brand{font-size:21px}
.tag{font-size:8px}
.login-top{display:none}
.signup-top{padding:9px 15px}
.hero-shell{grid-template-columns:1fr;padding:35px 18px}
.hero-copy h1{font-size:52px;letter-spacing:-2.8px}
.hero-sub{font-size:17px}
.people-stage{min-height:480px}
.language-strip{grid-template-columns:repeat(2,1fr);padding:13px}
.auth-zone{grid-template-columns:1fr;padding:40px 16px}
.auth-visual{min-height:430px;padding:30px}
.auth-visual h2{font-size:38px}
.steps{grid-template-columns:1fr 1fr}
.features{grid-template-columns:1fr 1fr}
.footer{flex-direction:column;gap:12px;text-align:center}
}

@media(max-width:520px){
.hero-copy h1{font-size:43px}
.activity-row{overflow-x:auto}
.activity-row div{min-width:63px}
.people-grid{gap:8px}
.person-photo{height:120px}
.speech{font-size:10px;max-width:105px}
.language-strip{grid-template-columns:1fr 1fr}
.auth-visual{min-height:410px}
.floating-note{display:none}
.steps{grid-template-columns:1fr}
.features{grid-template-columns:1fr}
.final-banner h2{font-size:30px}
.top-actions .signup-top{font-size:12px}
}

/* ===== NearbyMate Hero Photo Polish ===== */

.person-photo{
  height:155px;
  background-repeat:no-repeat;
  background-size:cover;
}

/* Individual face framing */
.photo-jocelyn{
  background-position:center 30%;
}

.photo-maria{
  background-position:center 32%;
}

.photo-priya{
  background-position:center 28%;
}

.photo-kate{
  background-position:center 25%;
}

/* Cleaner people panel */
.people-stage{
  background:
    linear-gradient(135deg,rgba(7,26,58,.20),rgba(7,26,58,.38)),
    url("https://images.unsplash.com/photo-1525625293386-3f8f99389edd?auto=format&fit=crop&w=1400&q=82")
    center/cover;
}

.person-card{
  transition:transform .2s ease,box-shadow .2s ease;
}

.person-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(7,26,58,.22);
}

.speech{
  z-index:3;
}

@media(max-width:520px){
  .person-photo{
    height:135px;
  }
}

/* ===== NEARBYMATE PREMIUM HOMEPAGE POLISH ===== */

.hero h1{
  font-size:clamp(42px,5vw,72px);
  line-height:1.02;
  letter-spacing:-2px;
}

.hero h1::after{
  content:"";
  display:block;
  width:80px;
  height:5px;
  margin:22px auto;
  border-radius:20px;
  background:linear-gradient(90deg,#ff7a18,#ffb347);
}

.people-stage{
  position:relative;
  overflow:hidden;
  border-radius:28px;
}

.people-stage::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    transparent 45%,
    rgba(5,18,40,.18)
  );
}

.person-card{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.8);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 14px 35px rgba(10,30,60,.16);
}

.person-photo{
  height:150px;
  background-size:cover;
  background-repeat:no-repeat;
  transition:transform .35s ease;
}

.person-card:hover .person-photo{
  transform:scale(1.045);
}

.person-card:hover{
  transform:translateY(-5px);
}

.speech{
  border-radius:18px;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  animation:floatBubble 4s ease-in-out infinite;
}

@keyframes floatBubble{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-7px)}
}

/* Activity / idea chips */
.quick-vibes{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin:24px auto 8px;
  max-width:900px;
}

.quick-vibes span{
  padding:10px 15px;
  border-radius:999px;
  background:white;
  border:1px solid #e5e7eb;
  box-shadow:0 5px 15px rgba(15,23,42,.06);
  font-size:14px;
  font-weight:700;
  transition:.2s;
}

.quick-vibes span:hover{
  transform:translateY(-2px);
  border-color:#ff8a3d;
}

/* multilingual feel */
.world-vibes{
  margin:30px auto;
  max-width:1050px;
  text-align:center;
}

.world-vibes-title{
  font-size:13px;
  font-weight:800;
  letter-spacing:1.5px;
  color:#64748b;
  text-transform:uppercase;
}

.language-bubbles{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-top:15px;
}

.language-bubbles span{
  background:#fff;
  border:1px solid #edf0f5;
  padding:11px 16px;
  border-radius:16px;
  box-shadow:0 7px 22px rgba(15,23,42,.07);
}

/* login/signup should never feel blank */
.card{
  box-shadow:0 20px 55px rgba(15,23,42,.10);
  border-radius:24px;
}

.primary{
  transition:transform .18s ease,box-shadow .18s ease;
}

.primary:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 25px rgba(15,23,42,.18);
}

@media(max-width:700px){
  .hero h1{
    font-size:42px;
    letter-spacing:-1.5px;
  }

  .person-photo{
    height:135px;
  }

  .quick-vibes{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding:4px 16px 12px;
  }

  .quick-vibes span{
    white-space:nowrap;
  }
}

/* ===== NEARBYMATE LOCATION TRUST UI ===== */

.nearby-screen{max-width:1180px}

.nearby-welcome{
 display:flex;justify-content:space-between;align-items:center;gap:24px;
 margin-bottom:20px;padding:27px 30px;border-radius:28px;
 background:linear-gradient(135deg,#fff4eb,#fff 48%,#f5f1ff);
 border:1px solid #f1e6de;
 box-shadow:0 14px 40px rgba(15,23,42,.06)
}

.nearby-eyebrow{
 font-size:11px;font-weight:900;letter-spacing:1.5px;color:#f97316
}

.nearby-welcome h2{margin:6px 0;font-size:30px}
.nearby-welcome p{margin:0;color:#64748b;line-height:1.5}

.nearby-vibes{
 display:grid;grid-template-columns:repeat(3,1fr);
 gap:15px;margin-bottom:26px
}

.nearby-vibe{
 position:relative;min-height:170px;overflow:hidden;border-radius:24px;
 background-size:cover;background-position:center;
 box-shadow:0 14px 35px rgba(15,23,42,.12)
}

.coffee-vibe{
 background-image:
 linear-gradient(to top,rgba(15,23,42,.78),rgba(15,23,42,.03)),
 url("https://images.unsplash.com/photo-1528605248644-14dd04022da1?auto=format&fit=crop&w=900&q=80")
}

.walk-vibe{
 background-image:
 linear-gradient(to top,rgba(15,23,42,.78),rgba(15,23,42,.03)),
 url("https://images.unsplash.com/photo-1511632765486-a01980e01a18?auto=format&fit=crop&w=900&q=80")
}

.movie-vibe{
 background-image:
 linear-gradient(to top,rgba(15,23,42,.78),rgba(15,23,42,.03)),
 url("https://images.unsplash.com/photo-1489599849927-2ee91cede3ba?auto=format&fit=crop&w=900&q=80")
}

.vibe-copy{
 position:absolute;left:17px;right:17px;bottom:16px;color:#fff
}

.vibe-copy b{display:block;font-size:16px}
.vibe-copy span{display:block;margin-top:3px;font-size:12px;opacity:.9}

.social-plan{
 border:1px solid #edf0f4;border-radius:24px;padding:20px;
 margin-bottom:15px;background:#fff;
 box-shadow:0 12px 32px rgba(15,23,42,.07)
}

.plan-top{
 display:flex;align-items:center;justify-content:space-between
}

.activity-orb{
 width:43px;height:43px;display:grid;place-items:center;
 border-radius:15px;background:#fff4eb;font-size:21px
}

.avatar-img{object-fit:cover}

.location-verified{
 display:inline-flex;align-items:center;margin:11px 0 10px;
 padding:6px 10px;border:1px solid #bbf7d0;border-radius:999px;
 background:#ecfdf5;color:#047857;font-size:12px;font-weight:800
}

/* profile photo */

.profile-photo-card{
 display:flex;align-items:center;gap:20px;margin-bottom:16px;padding:20px;
 border-radius:24px;background:#fff;border:1px solid #edf0f4;
 box-shadow:0 14px 35px rgba(15,23,42,.07)
}

.profile-avatar-big{
 width:92px;height:92px;flex:0 0 92px;display:grid;place-items:center;
 overflow:hidden;border-radius:50%;
 background:linear-gradient(135deg,#ff8a3d,#ff5e62);
 color:#fff;font-size:36px;font-weight:900
}

.profile-avatar-big img{
 width:100%;height:100%;object-fit:cover
}

.profile-photo-info{
 display:flex;flex-direction:column;align-items:flex-start;gap:5px
}

.profile-photo-info span,.profile-photo-info small{color:#64748b}

.photo-upload-btn{
 display:inline-flex;margin-top:7px;padding:9px 14px;border-radius:12px;
 background:#fff4eb;color:#c2410c;font-size:13px;font-weight:800;
 cursor:pointer
}

.photo-upload-btn input{display:none}

/* mandatory live-location gate */

.location-gate{
 position:fixed;inset:0;z-index:99999;display:flex;
 align-items:center;justify-content:center;padding:22px;
 background:rgba(15,23,42,.76);backdrop-filter:blur(10px)
}

.location-gate.hidden{display:none}

.location-gate-card{
 width:min(440px,100%);padding:34px;text-align:center;
 background:#fff;border-radius:30px;
 box-shadow:0 30px 90px rgba(0,0,0,.3)
}

.location-pin{
 width:75px;height:75px;display:grid;place-items:center;
 margin:0 auto 12px;border-radius:24px;
 background:#fff4eb;font-size:39px
}

.location-live-label{
 display:inline-block;padding:5px 9px;border-radius:999px;
 background:#ecfdf5;color:#047857;font-size:10px;
 font-weight:900;letter-spacing:1.3px
}

.location-gate-card h2{margin:12px 0 8px;font-size:27px}

.location-gate-card p{color:#64748b;line-height:1.55}

.location-privacy{
 margin:18px 0;padding:12px;border-radius:14px;
 background:#f8fafc;color:#475569;font-size:13px;font-weight:700
}

.location-gate-card .primary{width:100%}

.location-help{
 margin-top:13px;color:#64748b;font-size:12px
}

@media(max-width:800px){
 .nearby-vibes{grid-template-columns:1fr}
 .nearby-vibe{min-height:135px}
 .nearby-welcome{padding:22px}
 .nearby-welcome h2{font-size:25px}
 .profile-photo-card{align-items:flex-start}
}


/* ===== NEARBYMATE SIGNUP CONSENT ===== */

.signup-consent{
 margin:16px 0;
 padding:15px;
 border:1px solid #e5e7eb;
 border-radius:16px;
 background:#f8fafc;
 text-align:left;
}

.consent-check{
 display:flex;
 align-items:flex-start;
 gap:10px;
 font-size:13px;
 line-height:1.5;
 color:#334155;
 cursor:pointer;
}

.consent-check input{
 width:18px;
 height:18px;
 min-width:18px;
 margin-top:1px;
 accent-color:#ff6534;
}

.consent-check a{
 color:#e94f20;
 font-weight:800;
 text-decoration:none;
}

.signup-consent p{
 margin:10px 0 0 28px;
 font-size:11px;
 line-height:1.5;
 color:#64748b;
}



/* NearbyMate Community Example / location state */
.demo-badge{
 display:inline-flex;
 align-items:center;
 gap:6px;
 margin:8px 0;
 padding:7px 11px;
 border-radius:999px;
 background:#fff4e8;
 border:1px solid #ffd7ae;
 color:#9a4d00;
 font-size:12px;
 font-weight:800;
}

.location-unverified{
 display:inline-flex;
 align-items:center;
 gap:6px;
 margin:8px 0;
 padding:7px 11px;
 border-radius:999px;
 background:#f5f6f8;
 border:1px solid #e2e5ea;
 color:#687386;
 font-size:12px;
 font-weight:700;
}


/* ==========================================================
   NearbyMate desktop lifestyle rails
   ========================================================== */

.lifestyle-side{
 position:fixed;
 top:88px;
 bottom:18px;
 width:210px;
 display:flex;
 flex-direction:column;
 gap:10px;
 z-index:2;
 pointer-events:none;
}

.lifestyle-left{
 left:12px;
}

.lifestyle-right{
 right:12px;
}

.life-tile{
 position:relative;
 flex:1;
 min-height:125px;
 border-radius:22px;
 overflow:hidden;
 background-size:cover;
 background-position:center;
 box-shadow:0 12px 32px rgba(22,35,61,.12);
 isolation:isolate;
}

.life-tile::before{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(
   180deg,
   rgba(4,12,28,.02) 30%,
   rgba(4,12,28,.76) 100%
 );
 z-index:-1;
}

.life-copy{
 position:absolute;
 left:16px;
 right:12px;
 bottom:14px;
 color:white;
 text-shadow:0 2px 10px rgba(0,0,0,.55);
}

.life-copy b{
 display:block;
 font-size:17px;
 line-height:1.15;
 margin-bottom:4px;
}

.life-copy span{
 display:block;
 font-size:11px;
 line-height:1.25;
 opacity:.94;
}

/* Activity imagery */
.coffee-side{
 background-image:url("https://images.unsplash.com/photo-1528605248644-14dd04022da1?auto=format&fit=crop&w=700&q=82");
}

.run-side{
 background-image:url("https://images.unsplash.com/photo-1552674605-db6ffd4facb5?auto=format&fit=crop&w=700&q=82");
}

.movie-side{
 background-image:url("https://images.unsplash.com/photo-1489599849927-2ee91cede3ba?auto=format&fit=crop&w=700&q=82");
}

.dinner-side{
 background-image:url("https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=700&q=82");
}

.friends-side{
 background-image:url("https://images.unsplash.com/photo-1529156069898-49953e39b3ac?auto=format&fit=crop&w=700&q=82");
}

.explore-side{
 background-image:url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=700&q=82");
}

.shopping-side{
 background-image:url("https://images.unsplash.com/photo-1483985988355-763728e1935b?auto=format&fit=crop&w=700&q=82");
}

.chat-side{
 background-image:url("https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&fit=crop&w=700&q=82");
}

/* Give the center app breathing room on large screens */
@media (min-width:1450px){
 body{
   padding-left:225px;
   padding-right:225px;
 }

 header{
   left:225px;
   right:225px;
   width:auto;
 }

 .bottom-nav{
   max-width:680px;
 }
}

/* Slightly narrower rails */
@media (min-width:1250px) and (max-width:1449px){
 .lifestyle-side{
   width:150px;
 }

 .life-copy b{
   font-size:14px;
 }

 body{
   padding-left:160px;
   padding-right:160px;
 }

 header{
   left:160px;
   right:160px;
   width:auto;
 }
}

/* Mobile/tablet stays clean */
@media (max-width:1249px){
 .lifestyle-side{
   display:none !important;
 }

 body{
   padding-left:0 !important;
   padding-right:0 !important;
 }

 header{
   left:0 !important;
   right:0 !important;
   width:100% !important;
 }
}



/* ==========================================================
   NearbyMate registration welcome modal
   ========================================================== */

body.welcome-open{
 overflow:hidden;
}

.welcome-overlay{
 position:fixed;
 inset:0;
 z-index:99999;
 display:flex;
 align-items:center;
 justify-content:center;
 padding:20px;
 background:rgba(8,22,48,.55);
 backdrop-filter:blur(8px);
 -webkit-backdrop-filter:blur(8px);
}

.welcome-overlay.hidden{
 display:none !important;
}

.welcome-modal{
 position:relative;
 width:min(620px,100%);
 max-height:92vh;
 overflow:auto;
 text-align:center;
 padding:34px 34px 28px;
 border-radius:30px;
 background:
   radial-gradient(circle at top left,#fff1e9 0,transparent 32%),
   radial-gradient(circle at bottom right,#eef4ff 0,transparent 35%),
   #fff;
 box-shadow:0 28px 90px rgba(5,25,60,.28);
 border:1px solid rgba(255,255,255,.8);
 animation:welcomePop .35s ease-out;
}

@keyframes welcomePop{
 from{
   opacity:0;
   transform:translateY(18px) scale(.96);
 }
 to{
   opacity:1;
   transform:translateY(0) scale(1);
 }
}

.welcome-close{
 position:absolute;
 right:18px;
 top:14px;
 width:38px;
 height:38px;
 border:0;
 background:transparent;
 color:#7b8799;
 font-size:32px;
 line-height:32px;
 cursor:pointer;
}

.welcome-celebrate{
 margin:0 auto 12px;
 width:62px;
 height:62px;
 display:grid;
 place-items:center;
 border-radius:50%;
 background:#13b866;
 color:#fff;
 font-size:34px;
 font-weight:900;
 box-shadow:0 10px 28px rgba(19,184,102,.25);
}

.welcome-brand{
 color:#10264c;
 font-size:21px;
 margin-bottom:8px;
}

.welcome-brand b{
 font-size:25px;
}

.welcome-brand span{
 color:#ff5a2a;
}

.welcome-modal h2{
 margin:7px 0 5px;
 color:#0c234a;
 font-size:34px;
 line-height:1.15;
}

.welcome-intro{
 margin:8px 0 18px;
 color:#53627b;
 font-size:17px;
}

.welcome-message{
 padding:19px 22px;
 border-radius:20px;
 background:#fff5eb;
 color:#263a5a;
 font-size:16px;
 line-height:1.55;
}

.welcome-activities{
 display:grid;
 grid-template-columns:repeat(6,1fr);
 gap:9px;
 margin:22px 0;
}

.welcome-activities span{
 min-width:0;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:4px;
 padding:10px 3px;
 border-radius:16px;
 background:#f5f8fc;
 font-size:24px;
}

.welcome-activities small{
 color:#3c4c65;
 font-size:10px;
 font-weight:700;
}

.welcome-explore{
 width:100%;
 border:0;
 border-radius:16px;
 padding:16px 20px;
 background:#092859;
 color:#fff;
 font-size:17px;
 font-weight:800;
 cursor:pointer;
 box-shadow:0 10px 25px rgba(9,40,89,.20);
}

.welcome-explore:hover{
 transform:translateY(-1px);
}

.welcome-tagline{
 margin-top:17px;
 color:#17325c;
 font-weight:800;
 font-size:14px;
}

@media(max-width:600px){
 .welcome-overlay{
   padding:12px;
   align-items:center;
 }

 .welcome-modal{
   padding:27px 18px 22px;
   border-radius:24px;
 }

 .welcome-modal h2{
   font-size:27px;
 }

 .welcome-message{
   padding:16px;
   font-size:14px;
 }

 .welcome-activities{
   grid-template-columns:repeat(3,1fr);
   gap:8px;
   margin:17px 0;
 }

 .welcome-celebrate{
   width:54px;
   height:54px;
   font-size:29px;
 }

 .welcome-brand b{
   font-size:22px;
 }
}



/* ==========================================================
   NearbyMate 3-step onboarding
   ========================================================== */

body.onboard-open{
 overflow:hidden;
}

.onboard-overlay{
 position:fixed;
 inset:0;
 z-index:100000;
 display:flex;
 align-items:center;
 justify-content:center;
 padding:18px;
 background:rgba(8,22,48,.62);
 backdrop-filter:blur(9px);
 -webkit-backdrop-filter:blur(9px);
}

.onboard-overlay.hidden{
 display:none !important;
}

.onboard-modal{
 width:min(570px,100%);
 max-height:94vh;
 overflow:auto;
 background:#fff;
 border-radius:30px;
 padding:27px 32px 31px;
 box-shadow:0 30px 90px rgba(0,20,55,.30);
 animation:obPop .3s ease-out;
}

@keyframes obPop{
 from{
   opacity:0;
   transform:translateY(16px) scale(.97);
 }
 to{
   opacity:1;
   transform:none;
 }
}

.onboard-brand{
 text-align:center;
 color:#10264c;
 font-size:21px;
 margin-bottom:20px;
}

.onboard-brand b{
 font-size:24px;
}

.onboard-brand span{
 color:#ff5a2a;
}

.onboard-progress{
 display:flex;
 align-items:center;
 justify-content:center;
 max-width:310px;
 margin:0 auto 24px;
}

.ob-dot{
 width:37px;
 height:37px;
 border-radius:50%;
 display:grid;
 place-items:center;
 flex:0 0 auto;
 background:#edf1f7;
 color:#7a8799;
 font-weight:900;
 transition:.2s;
}

.ob-dot.active{
 background:#0b3268;
 color:#fff;
 transform:scale(1.08);
}

.ob-dot.done{
 background:#19b86a;
 color:#fff;
}

.ob-line{
 height:3px;
 flex:1;
 background:#e4e9f0;
}

.onboard-step{
 text-align:center;
}

.onboard-step.hidden{
 display:none !important;
}

.ob-icon{
 width:70px;
 height:70px;
 display:grid;
 place-items:center;
 margin:0 auto 10px;
 border-radius:22px;
 background:#fff3e9;
 font-size:35px;
}

.ob-step-label{
 color:#ff5a2a;
 font-size:11px;
 font-weight:900;
 letter-spacing:1.2px;
 margin-top:10px;
}

.onboard-step h2{
 color:#10264c;
 font-size:29px;
 margin:7px 0 8px;
}

.onboard-step > p{
 max-width:450px;
 margin:0 auto 18px;
 color:#657289;
 line-height:1.5;
}

.ob-privacy{
 background:#f3f7fb;
 border-radius:16px;
 padding:14px 16px;
 color:#42526a;
 font-size:13px;
 line-height:1.45;
 margin:18px 0;
}

.ob-status{
 padding:11px;
 margin-bottom:13px;
 border-radius:12px;
 background:#fff7e9;
 color:#8a6519;
 font-size:13px;
 font-weight:700;
}

.ob-status.success{
 background:#eafaf1;
 color:#11844b;
}

.ob-primary,
.ob-upload{
 width:100%;
 box-sizing:border-box;
 border:0;
 border-radius:15px;
 padding:15px 18px;
 background:#0b3268;
 color:#fff;
 font-size:16px;
 font-weight:800;
 cursor:pointer;
 display:block;
 text-align:center;
}

.ob-primary:disabled{
 opacity:.6;
 cursor:wait;
}

.ob-secondary{
 border:0;
 background:transparent;
 color:#66758a;
 padding:14px;
 cursor:pointer;
 font-weight:700;
}

.ob-avatar-preview{
 width:112px;
 height:112px;
 margin:17px auto;
 border-radius:50%;
 display:grid;
 place-items:center;
 overflow:hidden;
 background:#eef3f8;
 color:#0b3268;
 font-size:46px;
 font-weight:900;
 border:5px solid #fff;
 box-shadow:0 8px 28px rgba(12,44,87,.16);
}

.ob-avatar-preview img{
 width:100%;
 height:100%;
 object-fit:cover;
}

.ob-upload{
 background:#ff6535;
 margin-bottom:7px;
}

.ob-upload input{
 display:none;
}

.onboard-step small{
 color:#8390a3;
}

.ob-fields{
 text-align:left;
 margin-top:18px;
}

.ob-fields label{
 display:block;
 margin:11px 0 6px;
 color:#253a5c;
 font-size:13px;
 font-weight:800;
}

.ob-fields input,
.ob-fields textarea,
.ob-fields select{
 width:100%;
 box-sizing:border-box;
 border:1px solid #dce3ec;
 background:#f9fbfd;
 border-radius:12px;
 padding:12px 13px;
 font:inherit;
 outline:none;
}

.ob-fields textarea{
 min-height:85px;
 resize:vertical;
}

.ob-fields input:focus,
.ob-fields textarea:focus,
.ob-fields select:focus{
 border-color:#4b78b3;
 background:#fff;
}

.ob-two{
 display:grid;
 grid-template-columns:1fr 120px;
 gap:10px;
}

#onboardFinishBtn{
 margin-top:20px;
}

@media(max-width:600px){

 .onboard-overlay{
   padding:10px;
 }

 .onboard-modal{
   border-radius:23px;
   padding:22px 17px 24px;
 }

 .onboard-step h2{
   font-size:25px;
 }

 .ob-icon{
   width:60px;
   height:60px;
   font-size:30px;
 }

 .ob-two{
   grid-template-columns:1fr 95px;
 }

 .onboard-progress{
   margin-bottom:18px;
 }

}


/* ===== NearbyMate Status Insights ===== */

.nm-insights{
  max-width:730px;
  margin:22px auto 110px;
  padding:24px;
  border-radius:26px;
  background:
    radial-gradient(circle at top right,rgba(255,79,100,.10),transparent 34%),
    linear-gradient(145deg,#ffffff,#f8faff);
  border:1px solid #e8edf6;
  box-shadow:0 18px 50px rgba(20,45,90,.10);
}

.nm-insights-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
}

.nm-insights h3{
  margin:9px 0 3px;
  font-size:24px;
  color:#0b2852;
}

.nm-plan-title{
  margin:0;
  color:#71809a;
  font-size:14px;
}

.nm-live-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 11px;
  border-radius:999px;
  background:#eafff3;
  color:#078344;
  font-size:11px;
  font-weight:900;
  letter-spacing:.7px;
}

.nm-live-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#14b866;
  box-shadow:0 0 0 5px rgba(20,184,102,.12);
}

.nm-refresh{
  border:1px solid #dde5f1;
  background:#fff;
  color:#163760;
  border-radius:12px;
  padding:9px 13px;
  cursor:pointer;
  font-weight:800;
}

.nm-countdown{
  margin:18px 0;
  padding:12px 15px;
  background:#0c2a55;
  color:#fff;
  border-radius:14px;
  font-size:14px;
}

.nm-countdown span{
  opacity:.65;
  margin-left:4px;
}

.nm-hero-stat{
  text-align:center;
  padding:18px 10px 22px;
}

.nm-eye{
  font-size:28px;
}

.nm-hero-number{
  font-size:52px;
  line-height:1;
  margin:7px 0;
  font-weight:900;
  color:#102e59;
}

.nm-hero-label{
  color:#75839a;
  font-weight:700;
}

.nm-stat-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.nm-stat{
  text-align:center;
  padding:17px 8px;
  background:#fff;
  border:1px solid #e9edf4;
  border-radius:18px;
}

.nm-stat-icon{
  font-size:21px;
}

.nm-stat-value{
  font-size:27px;
  font-weight:900;
  color:#102e59;
  margin:4px 0;
}

.nm-stat-label{
  color:#76849b;
  font-size:12px;
  font-weight:700;
}

.nm-engagement{
  margin-top:20px;
  padding:16px;
  background:#fff;
  border:1px solid #e9edf4;
  border-radius:17px;
}

.nm-engagement-top{
  display:flex;
  justify-content:space-between;
  color:#40536f;
  font-size:13px;
  font-weight:800;
}

.nm-progress{
  height:8px;
  margin-top:10px;
  background:#edf1f7;
  border-radius:20px;
  overflow:hidden;
}

.nm-progress-fill{
  height:100%;
  background:linear-gradient(90deg,#ff6b35,#ff2f76);
  border-radius:20px;
  transition:width .5s ease;
}

.nm-milestone{
  margin-top:16px;
  padding:14px 16px;
  border-radius:15px;
  background:#fff7ed;
  color:#8a4a11;
  font-weight:750;
  text-align:center;
}

.nm-new-views{
  margin-top:11px;
  padding:11px;
  text-align:center;
  border-radius:13px;
  background:#effbf5;
  color:#087c4a;
  font-weight:800;
}

.nm-updated{
  text-align:center;
  margin-top:15px;
  color:#9aa5b6;
  font-size:11px;
}

.nm-insights-empty{
  display:flex;
  gap:14px;
  align-items:center;
}

.nm-insights-empty p{
  margin:4px 0 0;
  color:#7a879b;
}

.nm-empty-icon{
  font-size:32px;
}

@media(max-width:600px){
  .nm-insights{
    margin:16px 12px 100px;
    padding:18px;
  }

  .nm-insights h3{
    font-size:20px;
  }

  .nm-hero-number{
    font-size:43px;
  }

  .nm-stat{
    padding:14px 4px;
  }

  .nm-refresh{
    padding:8px 9px;
  }
}



/* NearbyMate official admin inbox */

.nm-msg-icon{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.nm-msg-badge{
  position:absolute;
  top:-9px;
  right:-12px;
  min-width:17px;
  height:17px;
  padding:0 4px;
  border-radius:20px;
  background:#e53935;
  color:white;
  font-size:10px;
  font-weight:800;
  align-items:center;
  justify-content:center;
  border:2px solid white;
  box-sizing:border-box;
}

#adminMessagesList{
  display:grid;
  gap:12px;
}

.nm-admin-message{
  background:#fff;
  border:1px solid #e9e9ef;
  border-radius:18px;
  padding:16px;
  box-shadow:0 6px 24px rgba(0,0,0,.05);
}

.nm-admin-message.unread{
  border-color:#b9d5ff;
  box-shadow:0 8px 28px rgba(40,100,220,.10);
}

.nm-admin-message-head{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:13px;
}

.nm-admin-avatar{
  width:42px;
  height:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#eef5ff;
  font-size:20px;
}

.nm-admin-message-head strong{
  display:block;
  font-size:15px;
}

.nm-admin-message-head small{
  display:block;
  margin-top:2px;
  opacity:.62;
}

.nm-admin-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#2377f3;
  color:#fff;
  font-size:11px;
}

.nm-admin-message-text{
  white-space:pre-line;
  line-height:1.55;
  font-size:14px;
}

.nm-admin-message-time{
  margin-top:12px;
  font-size:11px;
  opacity:.5;
}


/* NearbyMate non-blocking location prompt */
.nm-location-inline{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px;
  margin:12px 0;
  background:#fff;
  border:1px solid #e8ebf2;
  border-radius:18px;
  box-shadow:0 6px 22px rgba(0,0,0,.05);
}

.nm-location-inline-icon{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:15px;
  background:#fff2ec;
  font-size:22px;
}

.nm-location-inline-copy{
  flex:1;
  min-width:0;
}

.nm-location-inline-copy strong{
  display:block;
  font-size:15px;
  margin-bottom:4px;
}

.nm-location-inline-copy span{
  display:block;
  font-size:13px;
  line-height:1.4;
  opacity:.7;
}

.nm-location-inline button{
  border:0;
  border-radius:12px;
  padding:11px 15px;
  font-weight:700;
  cursor:pointer;
}

@media(max-width:600px){
  .nm-location-inline{
    align-items:flex-start;
    flex-wrap:wrap;
  }

  .nm-location-inline button{
    width:100%;
  }
}

/* NearbyMate Joining Offer */
.joining-offer-modal{
  position:fixed;
  inset:0;
  z-index:10050;
  background:rgba(15,23,42,.46);
  backdrop-filter:blur(5px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.joining-offer-modal.hidden{
  display:none;
}

.joining-offer-card{
  position:relative;
  width:min(470px,100%);
  padding:30px 26px 25px;
  border-radius:28px;
  background:
    radial-gradient(circle at 10% 5%,#fff0e7 0,transparent 34%),
    radial-gradient(circle at 95% 0,#eef0ff 0,transparent 35%),
    #fff;
  box-shadow:0 25px 80px rgba(15,23,42,.25);
  text-align:center;
}

.joining-offer-close{
  position:absolute;
  right:15px;
  top:13px;
  width:35px;
  height:35px;
  border:0;
  border-radius:50%;
  background:#f3f4f6;
  font-size:22px;
  cursor:pointer;
}

.joining-offer-visual{
  display:flex;
  justify-content:center;
  gap:10px;
  font-size:31px;
  margin-bottom:13px;
}

.joining-offer-visual span{
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border-radius:17px;
  box-shadow:0 6px 20px rgba(0,0,0,.07);
}

.joining-offer-kicker{
  display:inline-block;
  padding:7px 12px;
  border-radius:999px;
  background:#fff0e8;
  font-size:11px;
  font-weight:800;
  letter-spacing:.7px;
}

.joining-offer-card h2{
  margin:12px 0 5px;
  font-size:25px;
}

.joining-offer-lead{
  margin:0 0 20px;
  opacity:.72;
}

.joining-offer-question{
  font-weight:750;
  margin-bottom:10px;
}

.joining-contact-options{
  display:flex;
  gap:10px;
}

.joining-contact-options button{
  flex:1;
  padding:12px;
  border:1px solid #e3e6ec;
  background:#fff;
  border-radius:13px;
  font-weight:700;
  cursor:pointer;
}

.joining-contact-options button.selected{
  border-color:#ff6b35;
  background:#fff4ee;
  box-shadow:0 0 0 2px rgba(255,107,53,.10);
}

.joining-offer-input{
  width:100%;
  box-sizing:border-box;
  margin-top:12px;
  padding:13px 14px;
  border:1px solid #dfe3ea;
  border-radius:13px;
  font-size:15px;
  outline:none;
}

.joining-offer-input:focus{
  border-color:#ff6b35;
}

.joining-offer-privacy{
  margin:12px 2px;
  padding:10px;
  border-radius:11px;
  background:#f8fafc;
  font-size:11px;
  line-height:1.45;
  opacity:.7;
  text-align:left;
}

.joining-offer-submit{
  width:100%;
  padding:14px;
  border:0;
  border-radius:14px;
  background:#ff6b35;
  color:#fff;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
}

.joining-offer-submit:disabled{
  opacity:.6;
}

.joining-offer-week{
  margin-top:11px;
  font-size:12px;
  opacity:.65;
}


/* Joining offer promotional card */
.nm-joining-promo{
  max-width:680px;
  margin:16px auto 22px;
  padding:18px 20px;
  display:flex;
  align-items:center;
  gap:16px;
  border-radius:20px;
  background:linear-gradient(110deg,#fff1e8,#f3f1ff);
  border:1px solid #eee5df;
  box-shadow:0 8px 25px rgba(20,30,60,.05);
}

.nm-joining-promo-art{
  font-size:29px;
  white-space:nowrap;
}

.nm-joining-promo-copy{
  flex:1;
}

.nm-joining-promo-copy strong{
  display:block;
  font-size:16px;
}

.nm-joining-promo-copy span{
  display:block;
  margin-top:3px;
  font-size:12px;
  opacity:.68;
}

.nm-joining-promo button{
  border:0;
  border-radius:12px;
  padding:11px 15px;
  background:#ff6b35;
  color:white;
  font-weight:800;
  cursor:pointer;
}

@media(max-width:600px){
  .joining-offer-card{
    padding:27px 18px 22px;
  }

  .nm-joining-promo{
    flex-wrap:wrap;
  }

  .nm-joining-promo-copy{
    min-width:180px;
  }

  .nm-joining-promo button{
    width:100%;
  }
}


/* ===== NearbyMate Profile Gallery ===== */

.nm-gallery-card{
  background:#fff;
  border-radius:22px;
  padding:20px;
  margin-bottom:18px;
  box-shadow:0 8px 28px rgba(0,0,0,.07);
}

.nm-gallery-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  margin-bottom:16px;
}

.nm-gallery-head h3{
  margin:0 0 4px;
  font-size:20px;
}

.nm-gallery-head p{
  margin:0;
  font-size:13px;
  opacity:.68;
}

.nm-photo-count{
  white-space:nowrap;
  background:#f2f4f8;
  border-radius:999px;
  padding:7px 11px;
  font-weight:700;
  font-size:13px;
}

.nm-primary-preview{
  width:110px;
  height:110px;
  border-radius:50%;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:4px auto 8px;
  font-size:38px;
  font-weight:800;
  background:#eef1f6;
  border:4px solid #fff;
  box-shadow:0 4px 18px rgba(0,0,0,.13);
}

.nm-primary-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.nm-primary-caption{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex-wrap:wrap;
  text-align:center;
  margin-bottom:18px;
  font-size:13px;
}

.nm-primary-caption span{
  width:100%;
  opacity:.65;
}

.nm-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:12px;
}

.nm-photo-tile{
  position:relative;
  aspect-ratio:1/1;
  border-radius:15px;
  overflow:hidden;
  background:#eee;
  border:2px solid transparent;
}

.nm-photo-tile.primary-photo{
  border-color:#ffd24a;
}

.nm-photo-tile img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.nm-main-badge{
  position:absolute;
  left:6px;
  bottom:6px;
  background:rgba(20,20,20,.78);
  color:white;
  border-radius:999px;
  padding:5px 8px;
  font-size:10px;
  font-weight:700;
}

.nm-make-main{
  position:absolute;
  left:6px;
  bottom:6px;
  border:0;
  border-radius:999px;
  padding:5px 8px;
  background:rgba(255,255,255,.92);
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}

.nm-delete-photo{
  position:absolute;
  top:6px;
  right:6px;
  width:27px;
  height:27px;
  border:0;
  border-radius:50%;
  background:rgba(0,0,0,.65);
  color:white;
  font-size:20px;
  line-height:20px;
  cursor:pointer;
}

.nm-add-photo{
  min-height:92px;
  margin-top:12px;
  border:2px dashed #cdd3dc;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  text-align:center;
  padding:12px;
}

.nm-add-photo:hover{
  background:#f8f9fb;
}

.nm-add-photo > span{
  font-size:27px;
  line-height:27px;
}

.nm-add-photo strong{
  margin-top:3px;
}

.nm-add-photo small{
  opacity:.62;
  margin-top:3px;
}

.nm-add-photo input{
  display:none;
}

.nm-gallery-help{
  text-align:center;
  font-size:12px;
  opacity:.65;
  margin:11px 0 0;
}

.nm-gallery-empty{
  grid-column:1/-1;
  padding:20px;
  border-radius:15px;
  text-align:center;
  background:#f7f8fa;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.nm-gallery-empty span{
  font-size:28px;
}

.nm-gallery-empty small{
  opacity:.65;
}

@media(max-width:520px){
  .nm-gallery-card{
    padding:16px;
  }

  .nm-photo-grid{
    grid-template-columns:repeat(3,1fr);
    gap:7px;
  }

  .nm-primary-preview{
    width:96px;
    height:96px;
  }
}


/* ===== NearbyMate Founder Banner ===== */
.nm-founder-banner{
  display:flex;
  align-items:center;
  gap:18px;
  width:100%;
  box-sizing:border-box;
  margin:0 0 18px;
  padding:16px 18px;
  border:1px solid rgba(255,111,97,.22);
  border-radius:22px;
  background:
    radial-gradient(circle at 90% 10%,rgba(255,188,170,.24),transparent 35%),
    linear-gradient(135deg,#fff9f7 0%,#fff 55%,#fff6ef 100%);
  box-shadow:0 12px 32px rgba(91,45,32,.09);
}

.nm-founder-photo{
  width:92px;
  height:92px;
  flex:0 0 92px;
  object-fit:cover;
  object-position:center;
  border-radius:20px;
  border:3px solid #fff;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}

.nm-founder-copy{
  min-width:0;
  color:#302522;
  line-height:1.35;
}

.nm-founder-kicker{
  margin-bottom:5px;
  color:#e35f52;
  font-size:10px;
  font-weight:800;
  letter-spacing:.09em;
}

.nm-founder-main{
  font-size:14px;
  font-weight:650;
}

.nm-founder-main strong{
  color:#df5146;
  white-space:nowrap;
}

.nm-founder-happiness{
  margin-top:6px;
  font-size:12px;
  color:#725e57;
}

.nm-founder-happiness strong{
  color:#4d3a34;
}

.nm-founder-sign{
  margin-top:8px;
  font-size:12px;
  color:#5c4740;
}

.nm-founder-sign > strong{
  color:#df5146;
  font-size:13px;
}

.nm-founder-sign small{
  display:block;
  margin-top:2px;
  font-size:10px;
  color:#8c7770;
}

@media (max-width:700px){
  .nm-founder-banner{
    gap:12px;
    padding:13px;
    border-radius:18px;
    margin-bottom:15px;
  }

  .nm-founder-photo{
    width:72px;
    height:72px;
    flex-basis:72px;
    border-radius:16px;
  }

  .nm-founder-main{
    font-size:12px;
  }

  .nm-founder-happiness{
    font-size:11px;
  }

  .nm-founder-kicker{
    font-size:9px;
  }
}

/* ===== Founder independent full-width row V2 ===== */

.nm-founder-fullrow{
  width:100%;
  box-sizing:border-box;
  padding:18px 0 8px;
  background:
    linear-gradient(90deg,
      rgba(255,247,241,.98),
      rgba(255,255,255,.98),
      rgba(255,241,244,.98));
}

.nm-founder-fullrow-inner{
  max-width:1080px;
  margin:0 auto;
  box-sizing:border-box;

  display:grid;
  grid-template-columns:120px 1fr 190px;
  align-items:center;
  gap:25px;

  padding:18px 28px;

  background:
    radial-gradient(circle at 8% 20%,
      rgba(255,190,151,.22),
      transparent 30%),
    linear-gradient(110deg,#fffaf6,#fff,#fff5f7);

  border:1px solid rgba(245,111,88,.24);
  border-radius:25px;

  box-shadow:
    0 14px 40px rgba(59,38,31,.10);
}

.nm-founder-fullrow-photo{
  width:105px;
  height:105px;
  object-fit:cover;
  border-radius:22px;

  border:4px solid #fff;

  box-shadow:
    0 9px 24px rgba(38,24,19,.18);
}

.nm-founder-fullrow-message{
  min-width:0;
}

.nm-founder-fullrow-label{
  margin-bottom:7px;

  color:#f05b50;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
}

.nm-founder-fullrow-title{
  color:#14213d;
  font-size:18px;
  line-height:1.3;
  font-weight:800;
}

.nm-founder-fullrow-title span{
  display:block;
  color:#f04f54;
}

.nm-founder-fullrow-happy{
  margin-top:8px;

  color:#6d5b55;
  font-size:13px;
}

.nm-founder-fullrow-happy strong{
  display:block;
  margin-top:2px;
  color:#302522;
}

.nm-founder-fullrow-sign{
  padding-left:20px;
  border-left:1px solid rgba(231,111,92,.25);

  color:#65504a;
}

.nm-founder-fullrow-sign span{
  display:block;
  font-size:12px;
}

.nm-founder-fullrow-sign strong{
  display:block;
  margin:2px 0;

  color:#f04f54;
  font-size:20px;
}

.nm-founder-fullrow-sign small{
  display:block;
  color:#88736d;
  font-size:10px;
}

@media(max-width:800px){

  .nm-founder-fullrow{
    padding:10px 12px 4px;
  }

  .nm-founder-fullrow-inner{
    grid-template-columns:74px 1fr;
    gap:13px;
    padding:14px;
    border-radius:20px;
  }

  .nm-founder-fullrow-photo{
    width:70px;
    height:70px;
    border-radius:16px;
  }

  .nm-founder-fullrow-title{
    font-size:13px;
  }

  .nm-founder-fullrow-happy{
    font-size:11px;
  }

  .nm-founder-fullrow-sign{
    grid-column:2;
    padding:0;
    border:0;
    margin-top:-5px;
  }

  .nm-founder-fullrow-sign strong{
    display:inline;
    font-size:13px;
  }

  .nm-founder-fullrow-sign span{
    display:inline;
    font-size:11px;
  }

}


/* ===== Founder independent full-width row V2 ===== */

.nm-founder-fullrow{
  width:100%;
  box-sizing:border-box;
  padding:18px 0 8px;
  background:
    linear-gradient(90deg,
      rgba(255,247,241,.98),
      rgba(255,255,255,.98),
      rgba(255,241,244,.98));
}

.nm-founder-fullrow-inner{
  max-width:1080px;
  margin:0 auto;
  box-sizing:border-box;

  display:grid;
  grid-template-columns:120px 1fr 190px;
  align-items:center;
  gap:25px;

  padding:18px 28px;

  background:
    radial-gradient(circle at 8% 20%,
      rgba(255,190,151,.22),
      transparent 30%),
    linear-gradient(110deg,#fffaf6,#fff,#fff5f7);

  border:1px solid rgba(245,111,88,.24);
  border-radius:25px;

  box-shadow:
    0 14px 40px rgba(59,38,31,.10);
}

.nm-founder-fullrow-photo{
  width:105px;
  height:105px;
  object-fit:cover;
  border-radius:22px;

  border:4px solid #fff;

  box-shadow:
    0 9px 24px rgba(38,24,19,.18);
}

.nm-founder-fullrow-message{
  min-width:0;
}

.nm-founder-fullrow-label{
  margin-bottom:7px;

  color:#f05b50;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
}

.nm-founder-fullrow-title{
  color:#14213d;
  font-size:18px;
  line-height:1.3;
  font-weight:800;
}

.nm-founder-fullrow-title span{
  display:block;
  color:#f04f54;
}

.nm-founder-fullrow-happy{
  margin-top:8px;

  color:#6d5b55;
  font-size:13px;
}

.nm-founder-fullrow-happy strong{
  display:block;
  margin-top:2px;
  color:#302522;
}

.nm-founder-fullrow-sign{
  padding-left:20px;
  border-left:1px solid rgba(231,111,92,.25);

  color:#65504a;
}

.nm-founder-fullrow-sign span{
  display:block;
  font-size:12px;
}

.nm-founder-fullrow-sign strong{
  display:block;
  margin:2px 0;

  color:#f04f54;
  font-size:20px;
}

.nm-founder-fullrow-sign small{
  display:block;
  color:#88736d;
  font-size:10px;
}

@media(max-width:800px){

  .nm-founder-fullrow{
    padding:10px 12px 4px;
  }

  .nm-founder-fullrow-inner{
    grid-template-columns:74px 1fr;
    gap:13px;
    padding:14px;
    border-radius:20px;
  }

  .nm-founder-fullrow-photo{
    width:70px;
    height:70px;
    border-radius:16px;
  }

  .nm-founder-fullrow-title{
    font-size:13px;
  }

  .nm-founder-fullrow-happy{
    font-size:11px;
  }

  .nm-founder-fullrow-sign{
    grid-column:2;
    padding:0;
    border:0;
    margin-top:-5px;
  }

  .nm-founder-fullrow-sign strong{
    display:inline;
    font-size:13px;
  }

  .nm-founder-fullrow-sign span{
    display:inline;
    font-size:11px;
  }

}



/* =====================================================
   NearbyMate Founder Full Width Row V3
   ===================================================== */

.nm-founder-fullrow{
  width:100%;
  box-sizing:border-box;

  padding:14px 22px 10px;

  background:
    linear-gradient(
      90deg,
      #fff8f2 0%,
      #ffffff 48%,
      #fff3f6 100%
    );
}

.nm-founder-fullrow-inner{
  width:min(1180px, calc(100% - 20px));
  margin:0 auto;

  display:grid;
  grid-template-columns:110px minmax(0,1fr) 190px;
  align-items:center;
  gap:24px;

  padding:16px 28px;

  border:1px solid rgba(255,100,85,.22);
  border-radius:24px;

  background:
    radial-gradient(
      circle at 4% 50%,
      rgba(255,183,139,.24),
      transparent 25%
    ),
    linear-gradient(
      105deg,
      #fff9f5,
      #ffffff 55%,
      #fff5f7
    );

  box-shadow:
    0 12px 35px rgba(46,30,25,.10);
}

.nm-founder-photo-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
}

.nm-founder-fullrow-photo{
  width:92px;
  height:92px;

  display:block;
  object-fit:cover;

  border-radius:20px;
  border:4px solid #fff;

  box-shadow:
    0 8px 22px rgba(34,24,20,.20);
}

.nm-founder-fullrow-message{
  min-width:0;
}

.nm-founder-fullrow-label{
  margin-bottom:5px;

  color:#f05a4f;

  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}

.nm-founder-fullrow-title{
  color:#111d38;

  font-size:18px;
  font-weight:850;
  line-height:1.28;
}

.nm-founder-fullrow-title span{
  display:block;

  color:#f24f58;
}

.nm-founder-fullrow-happy{
  margin-top:7px;

  color:#715f59;

  font-size:12px;
  line-height:1.4;
}

.nm-founder-fullrow-happy strong{
  display:block;

  color:#342825;
}

.nm-founder-fullrow-sign{
  padding-left:22px;

  border-left:1px solid rgba(238,99,82,.25);

  color:#68534d;
}

.nm-founder-fullrow-sign span{
  display:block;

  font-size:12px;
}

.nm-founder-fullrow-sign strong{
  display:block;

  margin:2px 0 3px;

  color:#f04f58;

  font-size:21px;
  line-height:1.1;
}

.nm-founder-fullrow-sign small{
  display:block;

  color:#8b7770;

  font-size:10px;
}


/* Mobile */
@media(max-width:760px){

  .nm-founder-fullrow{
    padding:10px;
  }

  .nm-founder-fullrow-inner{
    width:100%;

    grid-template-columns:72px 1fr;
    gap:12px;

    padding:13px;

    border-radius:19px;
  }

  .nm-founder-fullrow-photo{
    width:66px;
    height:66px;

    border-radius:15px;
  }

  .nm-founder-fullrow-label{
    font-size:8px;
  }

  .nm-founder-fullrow-title{
    font-size:13px;
  }

  .nm-founder-fullrow-happy{
    font-size:10px;
  }

  .nm-founder-fullrow-sign{
    grid-column:2;

    padding-left:0;
    border-left:0;

    margin-top:-5px;
  }

  .nm-founder-fullrow-sign span{
    display:inline;
    font-size:10px;
  }

  .nm-founder-fullrow-sign strong{
    display:inline;

    margin-left:3px;

    font-size:13px;
  }

  .nm-founder-fullrow-sign small{
    margin-top:2px;

    font-size:9px;
  }
}



/* =========================================================
   NEARBYMATE FOUNDER SHOWCASE V4
   ========================================================= */

.nm-founder-showcase{
  position:relative;
  width:100%;
  min-height:250px;
  box-sizing:border-box;
  overflow:hidden;

  display:grid;
  grid-template-columns:
    minmax(250px,.9fr)
    minmax(500px,1.7fr)
    minmax(300px,.95fr)
    minmax(150px,.55fr);

  align-items:center;
  gap:10px;

  padding:18px 32px;

  background:
    radial-gradient(circle at 18% 20%,rgba(255,209,91,.26),transparent 27%),
    radial-gradient(circle at 83% 55%,rgba(255,123,99,.17),transparent 30%),
    linear-gradient(105deg,#fff9e9 0%,#fff2d5 46%,#fff6ec 100%);

  border-top:1px solid rgba(255,164,95,.16);
  border-bottom:1px solid rgba(255,164,95,.20);
}


/* ---------- LEFT ICONS ---------- */

.nm-founder-doodles-left{
  position:relative;
  height:210px;
  min-width:250px;
}

.nm-founder-doodles-left span{
  position:absolute;
  display:block;
  filter:drop-shadow(0 5px 3px rgba(75,40,15,.12));
}

.nm-doodle-coffee{
  left:25px;
  top:45px;
  font-size:76px;
  transform:rotate(-5deg);
}

.nm-doodle-icecream{
  left:145px;
  top:5px;
  font-size:72px;
  transform:rotate(5deg);
}

.nm-doodle-popcorn{
  left:125px;
  bottom:3px;
  font-size:70px;
  transform:rotate(-6deg);
}

.nm-doodle-ticket{
  right:2px;
  bottom:20px;
  font-size:66px;
  transform:rotate(-8deg);
}


/* ---------- CENTER MESSAGE ---------- */

.nm-founder-center{
  position:relative;
  z-index:3;
  text-align:center;
  color:#071a3b;
  padding:5px 12px;
}

.nm-founder-offer{
  font-family:
    "Comic Sans MS",
    "Bradley Hand",
    "Segoe Print",
    cursive;

  font-size:clamp(28px,2.25vw,43px);
  line-height:1.06;
  font-weight:700;
  letter-spacing:-1.2px;
  transform:rotate(-1deg);
}

.nm-founder-dil{
  margin-top:1px;

  font-family:
    "Comic Sans MS",
    "Bradley Hand",
    "Segoe Print",
    cursive;

  font-size:clamp(38px,3.15vw,58px);
  line-height:1;

  font-weight:800;
  color:#e82662;
  transform:rotate(-3deg);
}

.nm-founder-dil span{
  display:inline-block;
  font-size:.9em;
  transform:rotate(8deg);
}

.nm-founder-brush{
  position:relative;
  display:inline-block;

  margin-top:7px;
  padding:5px 35px 7px;

  font-family:
    "Comic Sans MS",
    "Bradley Hand",
    "Segoe Print",
    cursive;

  font-size:clamp(20px,1.65vw,31px);
  line-height:1.1;
  color:#111c34;

  transform:rotate(-1deg);
  z-index:1;
}

.nm-founder-brush::before{
  content:"";
  position:absolute;
  z-index:-1;

  left:0;
  right:0;
  top:48%;
  height:70%;

  transform:translateY(-50%) rotate(-1deg);

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,96,125,.30) 5%,
      rgba(255,79,111,.55) 20%,
      rgba(255,100,129,.48) 80%,
      transparent
    );

  border-radius:50% 18% 45% 20%;
}

.nm-founder-life{
  margin-top:2px;

  font-family:
    "Comic Sans MS",
    "Bradley Hand",
    "Segoe Print",
    cursive;

  font-size:clamp(22px,1.85vw,34px);
  font-weight:700;

  transform:rotate(-2deg);
}


/* ---------- PHOTO ---------- */

.nm-founder-photo-polaroid{
  position:relative;
  z-index:4;

  width:min(100%,300px);
  justify-self:center;

  padding:9px 9px 18px;

  background:#fffaf0;
  border:1px solid rgba(110,71,39,.18);

  box-shadow:
    0 15px 28px rgba(79,48,26,.23),
    0 3px 7px rgba(79,48,26,.12);

  transform:rotate(-5deg);
}

.nm-founder-photo-polaroid::before{
  content:"";
  position:absolute;

  width:58px;
  height:18px;

  left:50%;
  top:-10px;

  transform:translateX(-50%) rotate(2deg);

  background:rgba(230,200,154,.58);
}

.nm-founder-photo-polaroid img{
  display:block;
  width:100%;
  height:185px;
  object-fit:cover;
  object-position:center;
}


/* ---------- SIGNATURE ---------- */

.nm-founder-signature{
  position:relative;
  z-index:3;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  color:#071a3b;

  font-family:
    "Comic Sans MS",
    "Bradley Hand",
    "Segoe Print",
    cursive;

  transform:rotate(-3deg);
}

.nm-founder-signature span{
  font-size:19px;
}

.nm-founder-signature strong{
  color:#e82662;
  font-size:34px;
  line-height:1.05;

  padding:0 5px 3px;

  border-bottom:3px solid #e82662;
}

.nm-founder-signature b{
  margin-top:9px;
  font-size:18px;
}

.nm-founder-signature small{
  margin-top:1px;
  font-size:14px;
}


/* ---------- DECORATIVE HEARTS ---------- */

.nm-founder-heart{
  position:absolute;
  z-index:2;

  color:#ff315f;
  font-family:cursive;
  font-weight:900;
  pointer-events:none;
}

.nm-founder-heart.h1{
  left:22px;
  top:110px;
  font-size:45px;
  transform:rotate(-14deg);
}

.nm-founder-heart.h2{
  left:28%;
  bottom:17px;
  font-size:31px;
  transform:rotate(13deg);
}

.nm-founder-heart.h3{
  right:8%;
  top:25px;
  font-size:42px;
  transform:rotate(12deg);
}


/* ---------- TABLET ---------- */

@media (max-width:1100px){

  .nm-founder-showcase{
    grid-template-columns:170px 1fr 220px;
    min-height:230px;
    padding:16px 20px;
  }

  .nm-founder-doodles-left{
    min-width:160px;
    height:180px;
  }

  .nm-doodle-coffee{
    left:5px;
    font-size:58px;
  }

  .nm-doodle-icecream{
    left:80px;
    font-size:55px;
  }

  .nm-doodle-popcorn{
    left:65px;
    font-size:54px;
  }

  .nm-doodle-ticket{
    font-size:48px;
  }

  .nm-founder-signature{
    grid-column:3;
  }

  .nm-founder-photo-polaroid img{
    height:150px;
  }
}


/* ---------- MOBILE ---------- */

@media (max-width:760px){

  .nm-founder-showcase{
    display:grid;

    grid-template-columns:105px 1fr;

    min-height:auto;
    gap:10px;

    padding:18px 14px 20px;
  }

  .nm-founder-doodles-left{
    display:none;
  }

  .nm-founder-center{
    grid-column:1 / -1;
    grid-row:1;
    padding:0 3px 8px;
  }

  .nm-founder-offer{
    font-size:24px;
  }

  .nm-founder-dil{
    font-size:38px;
  }

  .nm-founder-brush{
    font-size:18px;
    padding:4px 14px;
  }

  .nm-founder-life{
    font-size:20px;
  }

  .nm-founder-photo-polaroid{
    grid-column:1;
    grid-row:2;

    width:92px;
    padding:5px 5px 10px;

    transform:rotate(-4deg);
  }

  .nm-founder-photo-polaroid img{
    height:105px;
  }

  .nm-founder-signature{
    grid-column:2;
    grid-row:2;

    align-items:flex-start;
    justify-self:start;
    transform:none;
  }

  .nm-founder-signature span{
    font-size:15px;
  }

  .nm-founder-signature strong{
    font-size:28px;
  }

  .nm-founder-signature b{
    font-size:15px;
  }

  .nm-founder-signature small{
    font-size:12px;
  }

  .nm-founder-heart.h1{
    left:7px;
    top:115px;
    font-size:26px;
  }

  .nm-founder-heart.h2{
    display:none;
  }

  .nm-founder-heart.h3{
    right:8px;
    top:8px;
    font-size:28px;
  }
}


/* =========================================================
   FOUNDER COMPACT FINAL V5
   Main hero remains the primary visual focus
   ========================================================= */

@media (min-width:1101px){

  .nm-founder-showcase{
    width:100% !important;
    min-height:0 !important;
    height:148px !important;

    grid-template-columns:
      minmax(210px,.78fr)
      minmax(500px,1.75fr)
      minmax(190px,.72fr)
      minmax(135px,.48fr) !important;

    gap:8px !important;

    padding:7px 28px !important;
    margin:0 !important;

    align-items:center !important;

    background:
      radial-gradient(circle at 18% 25%,rgba(255,209,91,.20),transparent 25%),
      radial-gradient(circle at 82% 45%,rgba(255,123,99,.14),transparent 29%),
      linear-gradient(105deg,#fff9e9 0%,#fff2d8 48%,#fff5ed 100%) !important;
  }


  /* LEFT ART */

  .nm-founder-doodles-left{
    min-width:210px !important;
    height:128px !important;
  }

  .nm-doodle-coffee{
    left:22px !important;
    top:30px !important;
    font-size:48px !important;
  }

  .nm-doodle-icecream{
    left:105px !important;
    top:5px !important;
    font-size:45px !important;
  }

  .nm-doodle-popcorn{
    left:92px !important;
    bottom:1px !important;
    font-size:43px !important;
  }

  .nm-doodle-ticket{
    right:4px !important;
    bottom:16px !important;
    font-size:42px !important;
  }


  /* MESSAGE */

  .nm-founder-center{
    padding:0 6px !important;
  }

  .nm-founder-offer{
    font-size:24px !important;
    line-height:1.02 !important;
    letter-spacing:-.6px !important;
  }

  .nm-founder-dil{
    margin-top:0 !important;
    font-size:33px !important;
    line-height:.96 !important;
  }

  .nm-founder-brush{
    margin-top:2px !important;
    padding:2px 25px 4px !important;
    font-size:18px !important;
    line-height:1 !important;
  }

  .nm-founder-life{
    margin-top:1px !important;
    font-size:20px !important;
    line-height:1 !important;
  }


  /* POLAROID */

  .nm-founder-photo-polaroid{
    width:180px !important;
    padding:6px 6px 11px !important;

    box-shadow:
      0 9px 18px rgba(79,48,26,.20),
      0 2px 5px rgba(79,48,26,.10) !important;

    transform:rotate(-4deg) !important;
  }

  .nm-founder-photo-polaroid img{
    height:108px !important;
    object-fit:cover !important;
  }

  .nm-founder-photo-polaroid::before{
    width:42px !important;
    height:12px !important;
    top:-7px !important;
  }


  /* SIGNATURE */

  .nm-founder-signature{
    transform:rotate(-2deg) !important;
  }

  .nm-founder-signature span{
    font-size:14px !important;
  }

  .nm-founder-signature strong{
    font-size:25px !important;
    border-bottom-width:2px !important;
  }

  .nm-founder-signature b{
    margin-top:5px !important;
    font-size:13px !important;
  }

  .nm-founder-signature small{
    font-size:10px !important;
  }


  /* HEARTS */

  .nm-founder-heart.h1{
    left:18px !important;
    top:48px !important;
    font-size:28px !important;
  }

  .nm-founder-heart.h2{
    left:30% !important;
    bottom:5px !important;
    font-size:20px !important;
  }

  .nm-founder-heart.h3{
    right:8% !important;
    top:12px !important;
    font-size:26px !important;
  }


  /* Bring primary hero visually closer */

  #nmFounderBanner + .hero-shell{
    margin-top:0 !important;
  }
}


/* Tablet: still compact */
@media (min-width:761px) and (max-width:1100px){

  .nm-founder-showcase{
    min-height:0 !important;
    height:145px !important;
    padding:7px 16px !important;
  }

  .nm-founder-offer{
    font-size:21px !important;
  }

  .nm-founder-dil{
    font-size:30px !important;
  }

  .nm-founder-brush{
    font-size:16px !important;
  }

  .nm-founder-life{
    font-size:18px !important;
  }

  .nm-founder-photo-polaroid{
    width:155px !important;
  }

  .nm-founder-photo-polaroid img{
    height:100px !important;
  }
}


/* ===== Founder signature alignment V5.1 ===== */

@media (min-width:1101px){

  .nm-founder-signature{
    position:relative !important;
    transform:none !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;

    min-width:145px !important;
    padding:0 5px !important;

    text-align:center !important;
    line-height:1.05 !important;
  }

  .nm-founder-signature span{
    display:block !important;
    margin:0 0 2px !important;

    font-size:13px !important;
    font-weight:600 !important;

    white-space:nowrap !important;
  }

  .nm-founder-signature strong{
    display:block !important;

    margin:0 auto 5px !important;
    padding:0 5px 3px !important;

    font-size:25px !important;
    line-height:1 !important;

    color:#e82662 !important;
    border-bottom:2px solid #e82662 !important;
  }

  .nm-founder-signature b{
    display:block !important;

    margin:0 !important;

    font-size:13px !important;
    line-height:1.15 !important;

    white-space:nowrap !important;
  }

  .nm-founder-signature small{
    display:block !important;

    margin-top:2px !important;

    font-size:10px !important;
    line-height:1.1 !important;
  }

  /* Move decorative heart away from Founder text */
  .nm-founder-heart.h3{
    right:5.5% !important;
    top:8px !important;
    font-size:22px !important;
    transform:rotate(10deg) !important;
  }
}


/* =========================================================
   FOUNDER FINAL POLISH V5.2
   Photo framing + stylish founder signature only
   ========================================================= */

@media (min-width:1101px){

  /* Keep current compact banner exactly as-is */
  .nm-founder-showcase{
    height:148px !important;
  }

  /* Show more skyline / Marina Bay Sands in original photo */
  .nm-founder-photo-polaroid{
    width:180px !important;
    overflow:visible !important;
    transform:translateY(-2px) rotate(-4deg) !important;
  }

  .nm-founder-photo-polaroid img{
    width:100% !important;
    height:108px !important;

    object-fit:cover !important;

    /* shift crop upward so skyline/MBS gets more room */
    object-position:52% 35% !important;
  }


  /* Clean founder block */
  .nm-founder-signature{
    transform:none !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;

    text-align:center !important;
    min-width:145px !important;
    padding:0 4px !important;
  }

  .nm-founder-signature span{
    margin:0 0 1px !important;

    font-family:
      "Segoe Print",
      "Bradley Hand",
      "Comic Sans MS",
      cursive !important;

    font-size:13px !important;
    font-weight:600 !important;
    line-height:1 !important;
  }


  /* Stylish Prakash */
  .nm-founder-signature strong{
    display:block !important;

    margin:1px 0 5px !important;
    padding:0 7px 3px !important;

    font-family:
      "Brush Script MT",
      "Segoe Script",
      "Bradley Hand",
      "Snell Roundhand",
      cursive !important;

    font-size:31px !important;
    font-style:italic !important;
    font-weight:600 !important;

    line-height:.95 !important;
    letter-spacing:.2px !important;

    color:#e91e63 !important;

    border-bottom:2px solid #e91e63 !important;

    transform:rotate(-3deg) !important;
  }

  .nm-founder-signature b{
    margin:0 !important;

    font-family:Arial,sans-serif !important;
    font-size:12px !important;
    font-weight:700 !important;

    line-height:1.15 !important;
    white-space:nowrap !important;

    color:#071a3b !important;
  }

  .nm-founder-signature small{
    margin-top:2px !important;

    font-family:Arial,sans-serif !important;
    font-size:9px !important;
    font-weight:500 !important;

    line-height:1 !important;
    color:#071a3b !important;
  }


  /* Heart separated from Founder label */
  .nm-founder-heart.h3{
    right:4.8% !important;
    top:7px !important;

    font-size:20px !important;
    line-height:1 !important;

    transform:rotate(10deg) !important;
  }
}


/* Tablet */
@media (min-width:761px) and (max-width:1100px){

  .nm-founder-photo-polaroid img{
    object-position:52% 35% !important;
  }

  .nm-founder-signature strong{
    font-family:
      "Brush Script MT",
      "Segoe Script",
      "Bradley Hand",
      cursive !important;

    font-style:italic !important;
    font-size:27px !important;
  }
}


/* Mobile */
@media (max-width:760px){

  .nm-founder-photo-polaroid img{
    object-position:52% 35% !important;
  }

  .nm-founder-signature strong{
    font-family:
      "Brush Script MT",
      "Segoe Script",
      "Bradley Hand",
      cursive !important;

    font-style:italic !important;
  }
}


/* ===== FINAL Founder Heart Position ===== */

@media (min-width:1101px){

  /* Remove floating heart from above Prakash */
  .nm-founder-heart.h3{
    display:none !important;
  }

  /* Founder label + heart on same line */
  .nm-founder-signature span{
    position:relative !important;
    display:inline-block !important;
    margin:0 0 2px !important;
    padding-right:22px !important;
  }

  .nm-founder-signature span::after{
    content:"♡";
    position:absolute;
    right:0;
    top:-5px;

    color:#ff315f;
    font-family:"Comic Sans MS", cursive;
    font-size:20px;
    font-weight:700;
    line-height:1;

    transform:rotate(8deg);
  }
}



/* ==========================================================
   NEARBYMATE STATUS-FIRST DASHBOARD FINAL
   ========================================================== */

.nm-dashboard-screen{
  padding-top:16px !important;
}


/* ---------- WELCOME ---------- */

.nm-dashboard-welcome{
  position:relative;
  overflow:hidden;

  display:flex;
  align-items:center;
  gap:18px;

  margin:0 auto 18px;
  padding:22px 28px;

  border:1px solid rgba(74,87,255,.12);
  border-radius:26px;

  background:
    radial-gradient(circle at 8% 20%,rgba(255,199,75,.22),transparent 25%),
    radial-gradient(circle at 92% 30%,rgba(83,91,255,.15),transparent 28%),
    linear-gradient(115deg,#fffaf0 0%,#ffffff 46%,#f4f5ff 100%);

  box-shadow:
    0 15px 45px rgba(31,38,80,.08),
    0 3px 12px rgba(31,38,80,.05);

  animation:nmWelcomeIn .65s ease both;
}

.nm-welcome-wave{
  flex:0 0 auto;
  width:65px;
  height:65px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:22px;

  font-size:35px;

  background:rgba(255,255,255,.82);

  box-shadow:0 8px 25px rgba(41,47,100,.10);

  animation:nmWave 2.5s ease-in-out infinite;
}

.nm-welcome-copy{
  position:relative;
  z-index:2;
}

.nm-welcome-copy h2{
  margin:0 0 5px;
  font-size:25px;
  line-height:1.15;
  letter-spacing:-.5px;
  color:#111b3e;
}

.nm-welcome-copy h2 span{
  background:linear-gradient(90deg,#5960ff,#9b4dff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.nm-welcome-tagline{
  margin-bottom:5px;

  font-size:16px;
  font-weight:800;
  color:#5057ee;
}

.nm-welcome-copy p{
  margin:0;
  max-width:760px;

  font-size:13px;
  line-height:1.45;
  color:#68718b;
}

.nm-welcome-spark{
  position:absolute;
  z-index:1;
  pointer-events:none;

  animation:nmSpark 3s ease-in-out infinite;
}

.nm-sp1{
  right:90px;
  top:15px;
}

.nm-sp2{
  right:34px;
  bottom:18px;
  animation-delay:.7s;
}

.nm-sp3{
  left:18px;
  top:9px;
  animation-delay:1.3s;
}


/* ---------- STATUS COMPOSER ---------- */

.nm-dashboard-composer{
  position:relative;

  margin:0 auto 20px;
  padding:24px;

  border:1px solid #e5e7ff;
  border-radius:25px;

  background:#fff;

  box-shadow:
    0 18px 45px rgba(36,44,104,.09),
    0 3px 12px rgba(36,44,104,.04);
}

.nm-composer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;

  margin-bottom:13px;
}

.nm-composer-kicker,
.nm-discovery-kicker{
  display:block;
  margin-bottom:3px;

  font-size:10px;
  font-weight:900;
  letter-spacing:1.3px;

  color:#6a70ff;
}

.nm-composer-head h2{
  margin:0;
  font-size:24px;
  color:#111a3c;
}

.nm-composer-head p{
  margin:3px 0 0;
  font-size:13px;
  color:#7a8195;
}

.nm-composer-bubble{
  width:48px;
  height:48px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:17px;

  font-size:24px;

  background:linear-gradient(145deg,#f0f1ff,#fff1f6);

  animation:nmFloat 3s ease-in-out infinite;
}

#nmDashboardStatusText{
  box-sizing:border-box;

  display:block;
  width:100%;
  min-height:118px;

  padding:17px 18px;

  resize:vertical;

  border:2px solid #e5e7f5;
  border-radius:18px;
  outline:none;

  background:#fbfbfe;

  font:inherit;
  font-size:16px;
  line-height:1.5;

  color:#17203d;

  transition:.2s ease;
}

#nmDashboardStatusText::placeholder{
  color:#9a9fb0;
}

#nmDashboardStatusText:focus{
  border-color:#6c72ff;
  background:#fff;

  box-shadow:0 0 0 4px rgba(108,114,255,.09);
}

.nm-quick-plans{
  display:flex;
  flex-wrap:wrap;
  gap:8px;

  margin-top:11px;
}

.nm-quick-plans button{
  cursor:pointer;

  padding:7px 12px;

  border:1px solid #e4e6f2;
  border-radius:999px;

  background:#fff;

  font-size:12px;
  font-weight:700;
  color:#535b72;

  transition:.18s ease;
}

.nm-quick-plans button:hover{
  transform:translateY(-1px);

  border-color:#747aff;
  color:#555cff;

  box-shadow:0 5px 15px rgba(74,82,220,.10);
}

.nm-status-action-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;

  margin-top:14px;
}

.nm-status-action-row > span{
  font-size:11px;
  font-weight:600;
  color:#9298a9;
}

.nm-dashboard-status-btn{
  min-width:165px;
  padding:11px 18px !important;
  border-radius:13px !important;

  box-shadow:0 8px 20px rgba(73,81,234,.20);
}


/* ---------- DISCOVERY ---------- */

.nm-discovery-heading{
  display:flex;
  align-items:center;
  gap:15px;

  margin:25px 0 14px;
  padding:4px 3px;
}

.nm-discovery-icon{
  flex:0 0 auto;

  width:49px;
  height:49px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:17px;

  font-size:25px;

  background:linear-gradient(145deg,#fff1e8,#fff7d8);
}

.nm-discovery-heading h2{
  margin:0;

  font-size:23px;
  line-height:1.15;

  color:#111a3c;
}

.nm-discovery-heading p{
  margin:5px 0 0;

  max-width:720px;

  font-size:12px;
  line-height:1.45;

  color:#81879a;
}


/* ---------- LIVE ---------- */

.nm-live-nearby-head{
  display:flex;
  justify-content:space-between;
  align-items:center;

  margin:17px 2px 10px;
}

.nm-live-nearby-head > div{
  display:flex;
  align-items:center;
  gap:8px;

  font-size:15px;
  color:#19223f;
}

.nm-live-nearby-head small{
  font-size:10px;
  color:#9298aa;
}

.nm-live-dot{
  display:inline-block;

  width:9px;
  height:9px;

  border-radius:50%;

  background:#20c777;

  box-shadow:0 0 0 5px rgba(32,199,119,.12);

  animation:nmLivePulse 1.8s infinite;
}


/* ---------- BOTTOM INSPIRATION ---------- */

.nm-inspiration-bottom{
  margin-top:35px;
  padding-top:18px;

  border-top:1px solid #eceef5;
}

.nm-inspiration-title{
  margin-bottom:12px;
}

.nm-inspiration-title span{
  font-size:11px;
  font-weight:900;
  letter-spacing:.8px;

  color:#7278ef;
}

.nm-inspiration-title h3{
  margin:4px 0 0;

  font-size:16px;
  color:#303950;
}

.nm-bottom-vibes{
  opacity:.93;
}


/* ---------- ANIMATION ---------- */

@keyframes nmWelcomeIn{
  from{
    opacity:0;
    transform:translateY(-9px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes nmWave{
  0%,100%{transform:rotate(0)}
  12%{transform:rotate(12deg)}
  24%{transform:rotate(-7deg)}
  36%{transform:rotate(9deg)}
  48%{transform:rotate(0)}
}

@keyframes nmSpark{
  0%,100%{
    opacity:.35;
    transform:translateY(0) scale(.9);
  }
  50%{
    opacity:1;
    transform:translateY(-5px) scale(1.08);
  }
}

@keyframes nmFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}

@keyframes nmLivePulse{
  0%,100%{
    box-shadow:0 0 0 3px rgba(32,199,119,.12);
  }
  50%{
    box-shadow:0 0 0 7px rgba(32,199,119,.04);
  }
}


/* ---------- MOBILE ---------- */

@media(max-width:700px){

  .nm-dashboard-screen{
    padding-top:8px !important;
  }

  .nm-dashboard-welcome{
    padding:18px;
    gap:12px;
    border-radius:20px;
  }

  .nm-welcome-wave{
    width:48px;
    height:48px;
    border-radius:15px;
    font-size:27px;
  }

  .nm-welcome-copy h2{
    font-size:19px;
  }

  .nm-welcome-tagline{
    font-size:13px;
  }

  .nm-welcome-copy p{
    font-size:11px;
  }

  .nm-dashboard-composer{
    padding:18px;
    border-radius:20px;
  }

  .nm-composer-head h2{
    font-size:21px;
  }

  #nmDashboardStatusText{
    min-height:105px;
    font-size:15px;
  }

  .nm-status-action-row{
    align-items:stretch;
    flex-direction:column;
  }

  .nm-status-action-row > span{
    text-align:center;
  }

  .nm-dashboard-status-btn{
    width:100%;
  }

  .nm-discovery-heading h2{
    font-size:19px;
  }

  .nm-live-nearby-head small{
    display:none;
  }
}


/* Respect accessibility preference */
@media(prefers-reduced-motion:reduce){
  .nm-dashboard-welcome,
  .nm-welcome-wave,
  .nm-welcome-spark,
  .nm-composer-bubble,
  .nm-live-dot{
    animation:none !important;
  }
}


/* =========================================================
   NEARBYMATE_DASHBOARD_SPLIT_V1
   Primary: Update Status
   Secondary: Founder Chat
   ========================================================= */

@media (min-width: 800px) {

  /* dashboard main section becomes 2 columns */
  #nearby {
    display: grid !important;
    grid-template-columns: minmax(0, 1.8fr) minmax(280px, .8fr) !important;
    column-gap: 20px !important;
    row-gap: 18px !important;
    align-items: start !important;
  }

  /* Welcome + status = LEFT / PRIMARY */
  #nearby > .nm-dashboard-welcome,
  #nearby > .dashboard-welcome,
  #nearby > .nm-status-first,
  #nearby > .nm-status-hero,
  #nearby > .status-first,
  #nearby > .status-hero {
    grid-column: 1 !important;
  }

  /* Founder Chat = RIGHT / COMPACT */
  #nearby > .nm-founder-chat,
  #nearby > .founder-chat-card {
    grid-column: 2 !important;
    grid-row: 1 / span 4 !important;

    width: 100% !important;
    max-width: 340px !important;
    justify-self: end !important;

    padding: 17px !important;
    border-radius: 20px !important;
    margin: 0 !important;
  }

  #nearby > .nm-founder-chat h2,
  #nearby > .nm-founder-chat h3,
  #nearby > .founder-chat-card h2,
  #nearby > .founder-chat-card h3 {
    font-size: 18px !important;
    line-height: 1.25 !important;
    margin: 0 0 7px !important;
  }

  #nearby > .nm-founder-chat p,
  #nearby > .founder-chat-card p {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  #nearby > .nm-founder-chat textarea,
  #nearby > .founder-chat-card textarea {
    min-height: 68px !important;
    font-size: 14px !important;
  }

  #nearby > .nm-founder-chat button,
  #nearby > .founder-chat-card button {
    min-height: 42px !important;
    font-size: 14px !important;
  }

  /* feed/location/nearby content continues full width below */
  #nearby > #nearbyList,
  #nearby > .nearby-list,
  #nearby > #locationGate,
  #nearby > .location-gate {
    grid-column: 1 / -1 !important;
  }
}


/* STATUS = visual priority */
.nm-status-first,
.nm-status-hero,
.status-first,
.status-hero {
  width: 100% !important;
}

.nm-status-first textarea,
.nm-status-hero textarea,
.status-first textarea,
.status-hero textarea,
#statusText {
  min-height: 105px !important;
}


/* Founder chat deliberately smaller */
.nm-founder-chat,
.founder-chat-card {
  box-shadow: 0 10px 28px rgba(55, 65, 110, .08) !important;
}


/* Mobile = status first, founder chat underneath */
@media (max-width: 799px) {

  #nearby {
    display: flex !important;
    flex-direction: column !important;
  }

  #nearby > .nm-founder-chat,
  #nearby > .founder-chat-card {
    width: 100% !important;
    max-width: none !important;
    padding: 16px !important;
  }
}


/* =========================================================
   NEARBYMATE_FOUNDER_CHAT_RIGHT_V2
   Compact horizontal Founder Chat on desktop
   ========================================================= */

@media (min-width: 800px) {

  /* Force Founder Chat to RIGHT side */
  #nearby .nm-founder-chat,
  #nearby .founder-chat-card {
    width: 470px !important;
    max-width: 470px !important;

    margin-left: auto !important;
    margin-right: 0 !important;

    justify-self: end !important;
    align-self: start !important;

    padding: 14px 16px !important;
    border-radius: 18px !important;
  }

  /* Make heading compact */
  #nearby .nm-founder-chat h2,
  #nearby .nm-founder-chat h3,
  #nearby .founder-chat-card h2,
  #nearby .founder-chat-card h3 {
    font-size: 17px !important;
    line-height: 1.18 !important;
    margin: 2px 0 5px !important;
  }

  #nearby .nm-founder-chat p,
  #nearby .founder-chat-card p {
    margin: 4px 0 8px !important;
    line-height: 1.3 !important;
    font-size: 12px !important;
  }

  /* Message history shorter */
  #nearby .nm-founder-chat-messages,
  #nearby .founder-chat-messages {
    max-height: 80px !important;
    min-height: 34px !important;
    overflow-y: auto !important;
    margin: 7px 0 !important;
  }

  /* Input + button horizontally */
  #nearby .nm-founder-chat textarea,
  #nearby .founder-chat-card textarea {
    width: calc(100% - 155px) !important;
    min-height: 48px !important;
    height: 48px !important;
    vertical-align: middle !important;
    resize: none !important;
  }

  #nearby .nm-founder-chat button,
  #nearby .founder-chat-card button {
    width: 145px !important;
    min-height: 48px !important;
    height: 48px !important;
    margin-left: 6px !important;
    vertical-align: top !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
  }
}

/* mobile stays full width */
@media (max-width: 799px) {
  #nearby .nm-founder-chat,
  #nearby .founder-chat-card {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}


/* ==========================================================
   NEARBYMATE_CLEAN_DASHBOARD_ALIGNMENT_V3
   FINAL OVERRIDE
   Desktop:
   Welcome full width
   Status LEFT
   Founder Chat RIGHT
   Discover/Live/content BELOW
   ========================================================== */

@media (min-width: 800px) {

  /* ---------- MASTER DASHBOARD GRID ---------- */

  #nearby {
    display: grid !important;

    grid-template-columns:
      minmax(0, 1.55fr)
      minmax(320px, 1fr) !important;

    gap: 18px 20px !important;

    align-items: start !important;

    width: 100% !important;
    max-width: 980px !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }


  /* ---------- WELCOME ---------- */

  #nearby > .nm-dashboard-welcome,
  #nearby > .dashboard-welcome {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
  }


  /* ---------- STATUS = LEFT PRIMARY ---------- */

  #nearby > .nm-status-first,
  #nearby > .nm-status-hero,
  #nearby > .status-first,
  #nearby > .status-hero {

    grid-column: 1 !important;
    grid-row: auto !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    justify-self: stretch !important;
    align-self: stretch !important;
  }


  /* ---------- FOUNDER CHAT = RIGHT ---------- */

  #nearby > .nm-founder-chat,
  #nearby > .founder-chat-card {

    grid-column: 2 !important;
    grid-row: auto !important;

    width: 100% !important;
    max-width: none !important;

    min-width: 0 !important;

    margin: 0 !important;

    justify-self: stretch !important;
    align-self: start !important;

    padding: 16px 18px !important;

    border-radius: 20px !important;

    box-sizing: border-box !important;

    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;

    transform: none !important;
  }


  /* compact founder heading */

  #nearby > .nm-founder-chat h2,
  #nearby > .nm-founder-chat h3,
  #nearby > .founder-chat-card h2,
  #nearby > .founder-chat-card h3 {

    font-size: 18px !important;
    line-height: 1.2 !important;

    margin: 2px 0 6px !important;
  }


  #nearby > .nm-founder-chat p,
  #nearby > .founder-chat-card p {

    font-size: 13px !important;
    line-height: 1.35 !important;

    margin: 5px 0 8px !important;
  }


  /* chat history compact */

  #nearby .nm-founder-chat-messages,
  #nearby .founder-chat-messages {

    min-height: 34px !important;
    max-height: 85px !important;

    overflow-y: auto !important;

    margin: 7px 0 !important;
  }


  /* ---------- CHAT INPUT ROW ---------- */

  #nearby .nm-founder-chat textarea,
  #nearby .founder-chat-card textarea {

    display: inline-block !important;

    width: calc(100% - 150px) !important;

    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;

    margin: 0 !important;

    vertical-align: top !important;

    resize: none !important;

    box-sizing: border-box !important;

    font-size: 13px !important;
  }


  #nearby .nm-founder-chat button,
  #nearby .founder-chat-card button {

    display: inline-block !important;

    width: 140px !important;

    height: 50px !important;
    min-height: 50px !important;

    margin: 0 0 0 6px !important;

    padding: 6px 10px !important;

    vertical-align: top !important;

    box-sizing: border-box !important;

    font-size: 13px !important;
  }


  /* ---------- STATUS TEXTBOX ---------- */

  #nearby #statusText {

    width: 100% !important;

    min-height: 105px !important;

    box-sizing: border-box !important;
  }


  /* ---------- EVERYTHING BELOW STATUS/CHAT ---------- */

  #nearby > .nm-discover,
  #nearby > .discover-section,
  #nearby > .nm-nearby-heading,
  #nearby > .nearby-heading,
  #nearby > #locationGate,
  #nearby > .location-gate,
  #nearby > #nearbyList,
  #nearby > .nearby-list,
  #nearby > .nm-inspiration,
  #nearby > .inspiration-section {

    grid-column: 1 / -1 !important;

    grid-row: auto !important;

    width: 100% !important;

    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    justify-self: stretch !important;

    position: relative !important;

    top: auto !important;
    left: auto !important;
    right: auto !important;

    transform: none !important;
  }

}


/* ==========================================================
   MOBILE
   Status first -> Founder Chat -> remaining content
   ========================================================== */

@media (max-width: 799px) {

  #nearby {

    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;

    gap: 14px !important;
  }


  #nearby > .nm-dashboard-welcome,
  #nearby > .dashboard-welcome,
  #nearby > .nm-status-first,
  #nearby > .nm-status-hero,
  #nearby > .status-first,
  #nearby > .status-hero,
  #nearby > .nm-founder-chat,
  #nearby > .founder-chat-card {

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    position: relative !important;

    top: auto !important;
    left: auto !important;
    right: auto !important;

    transform: none !important;
  }


  #nearby .nm-founder-chat textarea,
  #nearby .founder-chat-card textarea {

    width: 100% !important;

    min-height: 70px !important;

    margin-bottom: 8px !important;
  }


  #nearby .nm-founder-chat button,
  #nearby .founder-chat-card button {

    width: 100% !important;

    margin: 0 !important;
  }

}


/* cleaner overall visual alignment */

#nearby > * {
  box-sizing: border-box !important;
}


/* =========================================================
   NEARBYMATE_CHAT_TOP_RIGHT_V4
   Status LEFT + Founder Chat RIGHT, tight spacing
   ========================================================= */

@media (min-width: 800px) {

  #nearby {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr) !important;
    column-gap: 14px !important;
    row-gap: 14px !important;
    max-width: 980px !important;
  }

  /* STATUS LEFT */
  #nearby > .nm-status-first,
  #nearby > .nm-status-hero,
  #nearby > .status-first,
  #nearby > .status-hero {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin: 0 !important;
  }

  /* FOUNDER CHAT RIGHT — SAME ROW */
  #nearby > .nm-founder-chat,
  #nearby > .founder-chat-card {
    grid-column: 2 !important;
    grid-row: 2 !important;

    align-self: start !important;
    justify-self: stretch !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 15px 17px !important;

    position: relative !important;
    inset: auto !important;
    transform: none !important;
  }

  /* Compact Founder Chat */
  #nearby > .nm-founder-chat h2,
  #nearby > .nm-founder-chat h3,
  #nearby > .founder-chat-card h2,
  #nearby > .founder-chat-card h3 {
    font-size: 18px !important;
    line-height: 1.18 !important;
    margin: 2px 0 5px !important;
  }

  #nearby > .nm-founder-chat p,
  #nearby > .founder-chat-card p {
    margin: 3px 0 6px !important;
  }

  /* Everything after the two cards starts below them */
  #nearby > #nearbyList,
  #nearby > .nearby-list,
  #nearby > #locationGate,
  #nearby > .location-gate,
  #nearby > .nm-discover,
  #nearby > .discover-section,
  #nearby > .nm-nearby-heading,
  #nearby > .nearby-heading {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    margin-top: 2px !important;
  }
}


/* =========================================================
   NEARBYMATE_DASHBOARD_FINAL_V5
   Final desktop placement override
   ========================================================= */

@media (min-width:800px){

  #nearby{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-auto-flow:row !important;
    gap:12px 16px !important;
    max-width:980px !important;
    margin:0 auto !important;
    align-items:start !important;
  }

  /* Welcome = full width */
  #nearby > .nm-dashboard-welcome,
  #nearby > .dashboard-welcome{
    grid-column:1 / 3 !important;
    grid-row:1 !important;
    margin:0 0 2px !important;
  }

  /* Status = left */
  #nearby > .nm-status-first,
  #nearby > .nm-status-hero,
  #nearby > .status-first,
  #nearby > .status-hero{
    grid-column:1 !important;
    grid-row:2 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    align-self:start !important;
  }

  /* Founder Chat = right, EXACT SAME ROW */
  #nearby > .nm-founder-chat,
  #nearby > .founder-chat-card{
    grid-column:2 !important;
    grid-row:2 !important;

    width:100% !important;
    max-width:none !important;
    margin:0 !important;

    align-self:start !important;
    justify-self:stretch !important;

    padding:15px 18px !important;
    box-sizing:border-box !important;

    position:static !important;
    transform:none !important;
  }

  /* Shorter chat card */
  #nearby > .nm-founder-chat h2,
  #nearby > .founder-chat-card h2{
    font-size:18px !important;
    line-height:1.15 !important;
    margin:2px 0 5px !important;
  }

  #nearby > .nm-founder-chat p,
  #nearby > .founder-chat-card p{
    margin:3px 0 6px !important;
    font-size:12px !important;
    line-height:1.3 !important;
  }

  #nearby .nm-founder-chat-messages,
  #nearby .founder-chat-messages{
    min-height:30px !important;
    max-height:65px !important;
    margin:5px 0 !important;
    overflow-y:auto !important;
  }

  #nearby .nm-founder-chat textarea,
  #nearby .founder-chat-card textarea{
    width:calc(100% - 105px) !important;
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
    margin:0 !important;
    resize:none !important;
  }

  #nearby .nm-founder-chat button,
  #nearby .founder-chat-card button{
    width:95px !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 0 0 6px !important;
    padding:5px 8px !important;
  }

  /* Everything else MUST start below both cards */
  #nearby > :not(.nm-dashboard-welcome):not(.dashboard-welcome):
             not(.nm-status-first):not(.nm-status-hero):
             not(.status-first):not(.status-hero):
             not(.nm-founder-chat):not(.founder-chat-card){
    grid-column:1 / 3 !important;
    grid-row:auto !important;
  }

  /* Remove huge empty gaps */
  #nearby > *{
    top:auto !important;
    bottom:auto !important;
  }
}


/* =========================================================
   NEARBYMATE_LOCATION_FIRST_V6
   LEFT  : Update Status
   RIGHT : Enable Location
   BELOW : Nearby results -> Founder Chat -> Ideas
   ========================================================= */

@media (min-width:800px){

  #nearby{
    display:grid !important;
    grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr) !important;
    column-gap:18px !important;
    row-gap:14px !important;

    width:100% !important;
    max-width:980px !important;
    margin:0 auto !important;

    align-items:start !important;
  }

  /* Welcome full width */
  #nearby > .nm-dashboard-welcome,
  #nearby > .dashboard-welcome{
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    width:100% !important;
    margin:0 !important;
  }

  /* STATUS — LEFT TOP */
  #nearby > .nm-status-first,
  #nearby > .nm-status-hero,
  #nearby > .status-first,
  #nearby > .status-hero{
    grid-column:1 !important;
    grid-row:2 !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    align-self:start !important;

    position:static !important;
    transform:none !important;
  }

  /* LOCATION — RIGHT TOP */
  #nearby > #locationGate,
  #nearby > .location-gate{
    grid-column:2 !important;
    grid-row:2 !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    align-self:start !important;

    position:static !important;
    transform:none !important;
  }

  /* Nearby heading/results directly below top row */
  #nearby > .nm-nearby-heading,
  #nearby > .nearby-heading,
  #nearby > #nearbyList,
  #nearby > .nearby-list{
    grid-column:1 / -1 !important;
    grid-row:auto !important;

    width:100% !important;
    max-width:none !important;

    margin-top:0 !important;

    position:static !important;
    transform:none !important;
  }

  /* Founder chat BELOW nearby */
  #nearby > .nm-founder-chat,
  #nearby > .founder-chat-card{
    grid-column:1 / -1 !important;
    grid-row:auto !important;

    width:100% !important;
    max-width:620px !important;

    justify-self:center !important;

    margin:4px auto 0 !important;
    padding:14px 18px !important;

    position:static !important;
    transform:none !important;

    box-sizing:border-box !important;
  }

  /* Founder chat horizontal + compact */
  #nearby > .nm-founder-chat h2,
  #nearby > .founder-chat-card h2{
    font-size:18px !important;
    line-height:1.18 !important;
    margin:2px 0 5px !important;
  }

  #nearby > .nm-founder-chat p,
  #nearby > .founder-chat-card p{
    font-size:12px !important;
    line-height:1.3 !important;
    margin:3px 0 6px !important;
  }

  #nearby .nm-founder-chat-messages,
  #nearby .founder-chat-messages{
    min-height:30px !important;
    max-height:70px !important;
    overflow-y:auto !important;
    margin:5px 0 !important;
  }

  #nearby .nm-founder-chat textarea,
  #nearby .founder-chat-card textarea{
    width:calc(100% - 105px) !important;
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
    resize:none !important;
    vertical-align:top !important;
  }

  #nearby .nm-founder-chat button,
  #nearby .founder-chat-card button{
    width:95px !important;
    height:46px !important;
    min-height:46px !important;
    margin-left:6px !important;
    vertical-align:top !important;
  }

  /* Discover block + inspiration below */
  #nearby > .nm-discover,
  #nearby > .discover-section,
  #nearby > .nm-inspiration,
  #nearby > .inspiration-section{
    grid-column:1 / -1 !important;
    grid-row:auto !important;

    width:100% !important;
    margin-top:0 !important;

    position:static !important;
    transform:none !important;
  }

  #nearby > *{
    box-sizing:border-box !important;
  }
}


/* MOBILE: natural vertical flow */
@media (max-width:799px){

  #nearby{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
  }

  #nearby > .nm-founder-chat,
  #nearby > .founder-chat-card,
  #nearby > #locationGate,
  #nearby > .location-gate{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    position:static !important;
    transform:none !important;
  }
}


/* =========================================================
   NEARBYMATE_DASHBOARD_STRUCTURAL_V7
   FINAL DESKTOP STRUCTURE
   ---------------------------------------------------------
   Row 1 : Welcome
   Row 2 : Status | Location
   Row 3 : Discovery heading
   Row 4 : Live heading
   Row 5 : Nearby results
   Row 6 : Founder Chat
   Row 7 : Inspiration
   ========================================================= */

@media (min-width:800px){

  #nearby.nm-dashboard-screen{
    display:grid !important;
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr) !important;
    grid-auto-flow:row !important;
    gap:16px 18px !important;

    width:100% !important;
    max-width:1040px !important;

    margin-left:auto !important;
    margin-right:auto !important;

    align-items:start !important;
  }


  /* WELCOME */
  #nearby > .nm-dashboard-welcome{
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    width:100% !important;
    margin:0 !important;
  }


  /* UPDATE STATUS — LEFT */
  #nearby > .nm-dashboard-composer{
    grid-column:1 !important;
    grid-row:2 !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    align-self:stretch !important;
  }


  /* ENABLE LOCATION — RIGHT */
  #nearby > #nmDashboardLocationGate{
    grid-column:2 !important;
    grid-row:2 !important;

    position:relative !important;
    inset:auto !important;
    transform:none !important;

    width:100% !important;
    max-width:none !important;
    min-height:100% !important;

    margin:0 !important;

    align-self:stretch !important;
    justify-self:stretch !important;

    border-radius:22px !important;
    box-sizing:border-box !important;
  }

  #nearby > #nmDashboardLocationGate:not(.hidden){
    display:flex !important;
  }


  /* DISCOVERY */
  #nearby > .nm-discovery-heading{
    grid-column:1 / -1 !important;
    grid-row:3 !important;

    width:100% !important;
    margin:4px 0 0 !important;
  }


  /* LIVE AROUND YOU */
  #nearby > .nm-live-nearby-head{
    grid-column:1 / -1 !important;
    grid-row:4 !important;

    width:100% !important;
    margin:0 !important;
  }


  /* ACTUAL NEARBY PEOPLE */
  #nearby > #nearbyList{
    grid-column:1 / -1 !important;
    grid-row:5 !important;

    width:100% !important;
    max-width:none !important;

    margin:0 !important;
  }


  /* FOUNDER CHAT */
  #nearby > #nmFounderChatCard,
  #nearby > .nm-fchat{
    grid-column:1 / -1 !important;
    grid-row:6 !important;

    position:relative !important;
    inset:auto !important;
    transform:none !important;

    width:100% !important;
    max-width:none !important;

    margin:2px 0 0 !important;
    box-sizing:border-box !important;

    justify-self:stretch !important;
  }


  /* Make Founder Chat horizontal / compact */
  #nearby > #nmFounderChatCard .nm-fchat-messages{
    max-height:180px !important;
  }

  #nearby > #nmFounderChatCard .nm-fchat-compose{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:10px !important;
    align-items:stretch !important;
  }

  #nearby > #nmFounderChatCard textarea{
    min-height:54px !important;
    max-height:90px !important;
  }


  /* IDEAS AT BOTTOM */
  #nearby > .nm-inspiration-bottom{
    grid-column:1 / -1 !important;
    grid-row:7 !important;

    width:100% !important;
    margin-top:2px !important;
  }
}


/* MOBILE remains single column */
@media (max-width:799px){

  #nearby.nm-dashboard-screen{
    display:block !important;
  }

  #nearby > .nm-dashboard-welcome,
  #nearby > .nm-dashboard-composer,
  #nearby > #nmDashboardLocationGate,
  #nearby > .nm-discovery-heading,
  #nearby > .nm-live-nearby-head,
  #nearby > #nearbyList,
  #nearby > #nmFounderChatCard,
  #nearby > .nm-inspiration-bottom{
    width:100% !important;
    max-width:none !important;
    margin-bottom:14px !important;
  }
}


/* =========================================================
   NEARBYMATE_PROMO_SIDE_PANELS_V1
   Decorative desktop-only campaign panels
   ========================================================= */

.nm-promo-panel{
  display:none;
}

@media (min-width:1350px){

  .nm-promo-panel{
    display:flex;
    position:fixed;
    top:150px;
    bottom:82px;

    width:clamp(190px,17vw,300px);

    border-radius:26px;
    overflow:hidden;

    z-index:3;

    flex-direction:column;

    box-sizing:border-box;

    box-shadow:
      0 20px 50px rgba(30,42,80,.10),
      inset 0 0 0 1px rgba(255,255,255,.65);

    font-family:inherit;
  }


  /* LEFT PANEL */

  .nm-promo-left{
    left:clamp(135px,9.5vw,180px);

    padding:34px 28px;

    color:#142348;

    background:
      radial-gradient(circle at 70% 10%,
        rgba(255,255,255,.95),
        transparent 30%),
      radial-gradient(circle at 30% 85%,
        rgba(255,190,105,.38),
        transparent 38%),
      linear-gradient(
        155deg,
        #fff9e9 0%,
        #eef9ec 48%,
        #ffe1bd 100%
      );
  }

  .nm-promo-left::after{
    content:"";
    position:absolute;
    left:-15%;
    right:-15%;
    bottom:-8%;

    height:40%;

    background:
      radial-gradient(circle at 25% 50%,rgba(82,126,83,.22),transparent 28%),
      radial-gradient(circle at 70% 40%,rgba(255,157,79,.30),transparent 30%);

    filter:blur(3px);
  }


  .nm-promo-copy{
    position:relative;
    z-index:2;
  }


  .nm-promo-block{
    margin-bottom:30px;
  }

  .nm-promo-icon{
    font-size:30px;
    margin-bottom:5px;
  }

  .nm-promo-block strong{
    display:block;

    font-size:clamp(22px,1.65vw,31px);
    line-height:1.05;
    font-weight:900;

    letter-spacing:-1px;
  }

  .nm-promo-block span{
    display:block;

    margin-top:5px;

    font-size:clamp(17px,1.25vw,23px);
    line-height:1.12;
    font-weight:800;
  }


  .nm-promo-main{
    margin-top:12px;

    font-size:clamp(27px,2vw,38px);
    line-height:.98;

    font-weight:950;
    letter-spacing:-1.4px;

    transform:rotate(-2deg);
  }


  .nm-promo-people{
    position:absolute;

    left:0;
    right:0;
    bottom:30px;

    z-index:2;

    text-align:center;

    font-size:32px;
  }



  /* RIGHT PANEL */

  .nm-promo-right{
    right:clamp(135px,9.5vw,180px);

    padding:38px 28px 25px;

    color:#122248;

    justify-content:space-between;

    background:
      radial-gradient(circle at 60% 12%,
        rgba(255,255,255,.98),
        transparent 32%),
      linear-gradient(
        170deg,
        #f6f7f9 0%,
        #fff5e6 52%,
        #ffc66f 100%
      );
  }


  .nm-promo-right-copy{
    position:relative;
    z-index:2;

    text-align:center;
  }


  .nm-promo-right-copy > strong{
    display:block;

    font-size:clamp(24px,1.8vw,34px);
    line-height:1.08;

    font-weight:950;
    letter-spacing:-1.2px;
  }


  .nm-promo-big{
    display:block;

    margin-top:10px;

    font-size:clamp(25px,1.9vw,36px);
    line-height:1.04;

    font-weight:950;
    letter-spacing:-1.3px;
  }


  .nm-promo-smile{
    display:flex;

    align-items:center;
    justify-content:center;

    gap:10px;

    margin-top:30px;

    font-size:35px;
  }


  .nm-promo-smile span{
    text-align:left;

    font-size:clamp(18px,1.25vw,24px);
    line-height:1.08;

    font-weight:900;
  }


  .nm-promo-friends{
    position:relative;
    z-index:2;

    text-align:center;

    font-size:42px;

    margin:auto 0 18px;
  }


  .nm-promo-bottom{
    position:relative;
    z-index:2;

    padding:17px 12px;

    text-align:center;

    border-radius:20px;

    background:
      linear-gradient(
        135deg,
        rgba(255,177,48,.92),
        rgba(255,209,99,.95)
      );

    transform:rotate(-1deg);

    box-shadow:0 10px 25px rgba(157,101,10,.14);
  }


  .nm-promo-bottom strong{
    display:block;

    font-size:clamp(22px,1.55vw,30px);
    line-height:1.03;

    font-weight:950;
    letter-spacing:-1px;
  }


  .nm-promo-bottom span{
    display:block;

    margin-top:9px;

    font-size:12px;
    line-height:1.25;

    font-weight:800;
  }

}


/* Prevent overlap on smaller desktop/laptop widths */

@media (min-width:1350px) and (max-width:1550px){

  .nm-promo-panel{
    width:180px;
  }

  .nm-promo-left{
    left:115px;
    padding:24px 18px;
  }

  .nm-promo-right{
    right:115px;
    padding:26px 18px 20px;
  }

}


/* Hide promotional panels on tablet/mobile */

@media (max-width:1349px){

  .nm-promo-panel{
    display:none !important;
  }

}


/* =========================================================
   NEARBYMATE_APPROVED_PROMO_DESIGN_V2
   Approved visual: photographic friendship panels
   ========================================================= */

@media (min-width:1350px){

  /* ---------- BOTH PANELS ---------- */

  .nm-promo-panel{
    top:150px !important;
    bottom:82px !important;
    width:clamp(245px,19vw,330px) !important;

    padding:0 !important;

    border-radius:26px !important;
    overflow:hidden !important;

    box-shadow:0 18px 45px rgba(20,35,72,.15) !important;

    isolation:isolate !important;
  }


  /* =======================================================
     LEFT — COFFEE / REAL CONNECTION
     ======================================================= */

  .nm-promo-left{
    left:clamp(130px,9vw,175px) !important;

    display:flex !important;
    justify-content:flex-start !important;

    padding:34px 28px !important;

    background:
      linear-gradient(
        180deg,
        rgba(255,250,231,.97) 0%,
        rgba(255,250,231,.91) 38%,
        rgba(255,245,220,.22) 61%,
        rgba(30,24,20,.10) 100%
      ),
      url("/images/coffee-tea.jpg") center bottom / cover no-repeat !important;

    color:#10234d !important;
  }


  /* warm photographic fallback even if filename differs */
  .nm-promo-left::before{
    content:"" !important;

    position:absolute !important;
    inset:0 !important;

    z-index:-2 !important;

    background:
      radial-gradient(circle at 30% 8%,
        rgba(255,255,255,.95),
        transparent 34%),
      linear-gradient(
        160deg,
        rgba(255,244,200,.42),
        rgba(255,194,105,.12)
      ) !important;
  }


  .nm-promo-left::after{
    content:"" !important;

    position:absolute !important;
    inset:auto 0 0 !important;

    height:48% !important;

    z-index:-1 !important;

    background:
      linear-gradient(
        0deg,
        rgba(24,18,14,.28),
        transparent
      ) !important;
  }


  .nm-promo-left .nm-promo-copy{
    width:100% !important;
    position:relative !important;
    z-index:5 !important;
  }


  .nm-promo-left .nm-promo-block{
    margin:0 0 28px !important;
  }


  .nm-promo-left .nm-promo-icon{
    font-size:34px !important;
    line-height:1 !important;
    margin-bottom:7px !important;
  }


  .nm-promo-left .nm-promo-block strong{
    font-size:clamp(25px,1.75vw,34px) !important;
    line-height:1.02 !important;

    font-weight:950 !important;
    letter-spacing:-1.2px !important;
  }


  .nm-promo-left .nm-promo-block span{
    margin-top:5px !important;

    font-size:clamp(17px,1.15vw,22px) !important;
    line-height:1.08 !important;

    font-weight:850 !important;
  }


  .nm-promo-left .nm-promo-main{
    margin-top:8px !important;

    font-size:clamp(30px,2vw,40px) !important;
    line-height:.96 !important;

    font-weight:950 !important;
    letter-spacing:-1.6px !important;

    transform:rotate(-2deg) !important;
  }


  .nm-promo-left .nm-promo-people{
    display:none !important;
  }



  /* =======================================================
     RIGHT — STRANGER -> NEW MATE / SUNSET FRIENDSHIP
     ======================================================= */

  .nm-promo-right{
    right:clamp(130px,9vw,175px) !important;

    display:flex !important;

    padding:38px 27px 24px !important;

    color:#10234d !important;

    background:
      linear-gradient(
        180deg,
        rgba(242,249,255,.96) 0%,
        rgba(255,248,232,.86) 43%,
        rgba(255,194,91,.15) 64%,
        rgba(17,25,39,.18) 100%
      ),
      url("/images/friendship.jpg") center bottom / cover no-repeat !important;
  }


  .nm-promo-right::before{
    content:"" !important;

    position:absolute !important;
    inset:0 !important;

    z-index:-2 !important;

    background:
      linear-gradient(
        180deg,
        rgba(235,247,255,.55),
        rgba(255,222,169,.20) 55%,
        rgba(255,156,57,.22)
      ) !important;
  }


  .nm-promo-right-copy{
    position:relative !important;
    z-index:5 !important;

    width:100% !important;
    text-align:center !important;
  }


  .nm-promo-right-copy > strong{
    font-size:clamp(27px,1.85vw,37px) !important;
    line-height:1.01 !important;

    font-weight:950 !important;
    letter-spacing:-1.4px !important;
  }


  .nm-promo-right .nm-promo-big{
    margin-top:8px !important;

    font-size:clamp(27px,1.9vw,38px) !important;
    line-height:1 !important;

    font-weight:950 !important;
    letter-spacing:-1.4px !important;
  }


  .nm-promo-right .nm-promo-smile{
    margin-top:27px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    gap:10px !important;

    font-size:38px !important;
  }


  .nm-promo-right .nm-promo-smile span{
    font-size:clamp(19px,1.25vw,25px) !important;
    line-height:1.04 !important;

    font-weight:950 !important;
  }


  .nm-promo-right .nm-promo-friends{
    margin:auto 0 8px !important;

    position:relative !important;
    z-index:4 !important;

    font-size:42px !important;
    opacity:.0 !important;
  }


  .nm-promo-right .nm-promo-bottom{
    position:relative !important;
    z-index:6 !important;

    margin:0 !important;
    padding:16px 14px !important;

    border-radius:18px !important;

    background:#ffc83f !important;

    box-shadow:0 10px 25px rgba(99,61,0,.20) !important;

    transform:rotate(-2deg) !important;
  }


  .nm-promo-right .nm-promo-bottom strong{
    font-size:clamp(24px,1.55vw,31px) !important;
    line-height:1 !important;

    font-weight:950 !important;
  }


  .nm-promo-right .nm-promo-bottom span{
    margin-top:8px !important;

    font-size:12px !important;
    font-weight:900 !important;
  }

}


/* Keep center dashboard completely clear */
@media (min-width:1350px) and (max-width:1550px){

  .nm-promo-panel{
    width:210px !important;
  }

  .nm-promo-left{
    left:105px !important;
    padding:27px 20px !important;
  }

  .nm-promo-right{
    right:105px !important;
    padding:30px 19px 20px !important;
  }

}


/* Mobile/tablet: no side artwork */
@media (max-width:1349px){
  .nm-promo-panel{
    display:none !important;
  }
}


/* =========================================================
   NEARBYMATE_PROMO_PHOTO_FIX_V3
   Reuse the SAME working lifestyle imagery already on page
   ========================================================= */

@media (min-width:1350px){

  /* LEFT: use same image as existing Coffee & Tea tile */
  .nm-promo-left{
    background-image:
      linear-gradient(
        180deg,
        rgba(255,252,239,.97) 0%,
        rgba(255,250,229,.90) 38%,
        rgba(255,245,220,.25) 56%,
        rgba(12,18,28,.05) 100%
      ),
      var(--nm-promo-left-photo) !important;

    background-size:cover !important;
    background-position:center !important;
  }

  /* RIGHT: use same image as existing Friendship tile */
  .nm-promo-right{
    background-image:
      linear-gradient(
        180deg,
        rgba(241,249,255,.97) 0%,
        rgba(255,247,231,.87) 38%,
        rgba(255,218,159,.20) 55%,
        rgba(20,24,35,.10) 100%
      ),
      var(--nm-promo-right-photo) !important;

    background-size:cover !important;
    background-position:center !important;
  }

}


/* Copy the already-working tile backgrounds into variables */
body{
  --nm-promo-left-photo:
    url("https://images.unsplash.com/photo-1528605248644-14dd04022da1?auto=format&fit=crop&w=900&q=86");

  --nm-promo-right-photo:
    url("https://images.unsplash.com/photo-1529156069898-49953e39b3ac?auto=format&fit=crop&w=900&q=86");
}


/* Approved visual proportions */
@media (min-width:1350px){

  .nm-promo-panel{
    width:300px !important;
  }

  .nm-promo-left{
    left:145px !important;
  }

  .nm-promo-right{
    right:145px !important;
  }

  /* Text stays readable; PHOTO dominates lower half */
  .nm-promo-left{
    background-position:center bottom !important;
  }

  .nm-promo-right{
    background-position:center bottom !important;
  }

  .nm-promo-left::after{
    height:35% !important;
    background:
      linear-gradient(
        0deg,
        rgba(10,18,28,.16),
        transparent
      ) !important;
  }

  .nm-promo-right::after{
    content:"" !important;
    position:absolute !important;
    inset:auto 0 0 0 !important;
    height:40% !important;
    z-index:-1 !important;

    background:
      linear-gradient(
        0deg,
        rgba(15,20,30,.18),
        transparent
      ) !important;
  }

}


/* Your current browser width: keep panels clear of dashboard */
@media (min-width:1350px) and (max-width:1700px){

  .nm-promo-panel{
    width:220px !important;
  }

  .nm-promo-left{
    left:100px !important;
  }

  .nm-promo-right{
    right:100px !important;
  }

}


/* NEARBYMATE_APPROVED_HERO_CSS_V1 */
.nm-approved-hero {
  width: min(100%, 1500px);
  margin: 16px auto 24px;
  padding: 0 12px;
  box-sizing: border-box;
}

.nm-approved-hero img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 12px 35px rgba(20, 45, 85, .12);
}

.nm-promo-panel {
  display: none !important;
}

@media (max-width: 700px) {
  .nm-approved-hero {
    margin: 10px auto 18px;
    padding: 0 8px;
  }
  .nm-approved-hero img {
    border-radius: 12px;
  }
}

/* NEARBYMATE_HOMEPAGE_CSS_V3 */

/* Hide old side promotional panels */
.nm-promo-panel {
  display: none !important;
}

/* New central homepage artwork */
#auth .nm-homepage-hero {
  width: min(100% - 24px, 1500px);
  margin: 14px auto 26px;
  position: relative;
  z-index: 1;
}

#auth .nm-homepage-hero img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(20,45,85,.12);
}

@media (max-width:700px) {
  #auth .nm-homepage-hero {
    width: calc(100% - 12px);
    margin: 8px auto 16px;
  }
  #auth .nm-homepage-hero img {
    border-radius: 10px;
  }
}

/* NEARBYMATE_FINAL_CLEAN_V5 */
#auth .hero-shell,
#auth .language-strip,
.nm-promo-panel {
  display: none !important;
}

#auth .nm-homepage-hero {
  display: block !important;
  width: min(100% - 24px, 1500px) !important;
  max-width: 1500px !important;
  margin: 12px auto 24px !important;
}

#auth .nm-homepage-hero img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}

@media (max-width: 700px) {
  #auth .nm-homepage-hero {
    width: calc(100% - 12px) !important;
  }
}

/* NEARBYMATE_HERO_ENLARGE_V6 */
#auth .nm-homepage-hero { width: calc(100% - 12px) !important; max-width: 1600px !important; margin: 4px auto 8px !important; }
#auth .nm-homepage-hero img { width: 100% !important; border-radius: 12px !important; box-shadow: none !important; }
@media (max-width:700px) { #auth .nm-homepage-hero { width: calc(100% - 8px) !important; margin: 4px auto 8px !important; } }
