:root{--bg:#080313;--panel:#120a20;--text:#fff8fc;--muted:#b9afc5;--pink:#ff2aa1;--purple:#8c4dff;--line:#2b2037}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 70% 10%,#27103c 0,#0b0615 38%,#07020d 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:inherit;text-decoration:none}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(20px,5vw,72px);position:sticky;top:0;z-index:50;background:rgba(8,3,19,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.14em}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--pink),var(--purple));box-shadow:0 8px 28px #ff2aa133}.nav nav{display:flex;gap:26px;color:#d6cddd;font-size:14px}.nav nav a:hover,footer a:hover,.links a:hover{color:#ff72bd}.nav-actions,.hero-actions{display:flex;gap:10px}.btn{border:1px solid var(--line);border-radius:12px;padding:11px 17px;font-weight:800;font-size:14px;cursor:pointer;color:#fff;background:transparent}.btn.primary{border:0;background:linear-gradient(100deg,var(--pink),var(--purple));box-shadow:0 12px 30px #ff2aa126}.btn.ghost{background:rgba(255,255,255,.04)}.btn.xl{padding:14px 21px}.hero{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:30px;padding:72px clamp(20px,7vw,110px) 55px;max-width:1500px;margin:auto}.hero-copy{max-width:680px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.18em;color:#ff75bd}.hero h1{font-size:clamp(52px,7vw,92px);line-height:.94;letter-spacing:-.055em;margin:18px 0 25px}.hero h1 em{font-style:normal;background:linear-gradient(90deg,#ff72bd,#a879ff);background-clip:text;-webkit-background-clip:text;color:transparent}.hero p{font-size:18px;line-height:1.65;color:var(--muted);max-width:610px}.micro{font-size:12px!important;margin-top:18px}.visual{min-height:470px;position:relative;display:grid;place-items:center}.orb{position:absolute;border-radius:50%;filter:blur(3px)}.orb-a{width:390px;height:390px;background:radial-gradient(circle,#ff2aa14a 0,#ff2aa100 68%);top:15px;right:0}.orb-b{width:300px;height:300px;background:radial-gradient(circle,#8c4dff55 0,#8c4dff00 70%);bottom:0;left:20px}.heart{position:relative;z-index:2;width:150px;height:150px;display:grid;place-items:center;border-radius:44px;font-size:0;color:#fff;background:linear-gradient(145deg,#ff2aa1,#8c4dff);box-shadow:0 30px 90px #ff2aa144, inset 0 1px 1px #ffffff66;transform:rotate(-8deg)}.profile-card{position:absolute;z-index:4;display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #ffffff18;background:#160d25dd;backdrop-filter:blur(18px);border-radius:18px;box-shadow:0 20px 55px #0006;min-width:235px}.profile-card small{display:block;color:#9f94aa;margin-top:3px}.profile-card b{margin-left:auto;color:#ff70b8;font-size:20px}.card-one{top:70px;left:0}.card-two{bottom:60px;right:0}.avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;font-weight:900;background:linear-gradient(135deg,#ff75b9,#8c4dff)}.avatar-two{background:linear-gradient(135deg,#8c4dff,#4c8dff)}.spark{position:absolute;color:#ff74ba;font-size:28px}.s1{top:35px;right:30px}.s2{bottom:110px;left:35px}.strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d0617;padding:22px clamp(20px,7vw,110px)}.strip div{display:flex;justify-content:center;align-items:center;gap:10px;border-right:1px solid var(--line)}.strip div:last-child{border:0}.strip b{color:#ff69b5;font-size:22px}.strip span{color:#a99fb3;font-size:13px}.section,.safety{max-width:1250px;margin:auto;padding:110px clamp(20px,6vw,80px)}h2{font-size:clamp(36px,5vw,62px);line-height:1.02;letter-spacing:-.04em;margin:12px 0 42px}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.features article{padding:28px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#151022,#0d0716);min-height:210px}.features i{font-style:normal;font-size:26px;color:#ff65b3}.features h3{margin:20px 0 8px;font-size:20px}.features p,.safety p{color:var(--muted);line-height:1.65}.safety{display:grid;grid-template-columns:1fr 340px;gap:70px;align-items:center}.links{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;color:#ff70b8;font-weight:800}.safety-badge{height:340px;border-radius:36px;border:1px solid #ffffff18;background:radial-gradient(circle at 50% 35%,#ff2aa133,#140a21 58%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 30px 90px #0005}.safety-badge span{font-size:100px;font-weight:950;line-height:1;background:linear-gradient(135deg,#ff6bb8,#9b75ff);background-clip:text;-webkit-background-clip:text;color:transparent}.safety-badge small{letter-spacing:.2em;color:#aaa0b0}.safety-badge b{max-width:190px;margin-top:18px}.cta{text-align:center;padding:110px 20px;background:radial-gradient(circle at center,#30103e,#0a0412 62%);border-top:1px solid var(--line)}.cta h2{margin-bottom:12px}.cta p{color:var(--muted);margin-bottom:28px}.android{display:block;margin-top:18px;color:#ff70b8;font-weight:800}footer{padding:30px clamp(20px,6vw,80px);display:flex;align-items:center;justify-content:space-between;gap:20px;color:#8e8498;font-size:12px;border-top:1px solid var(--line)}footer>div:last-child{display:flex;gap:18px;flex-wrap:wrap}.modal{position:fixed;inset:0;z-index:100;display:none;place-items:center}.modal.open{display:grid}.modal-backdrop{position:absolute;inset:0;background:#030107cc;backdrop-filter:blur(10px)}.auth{position:relative;width:min(460px,calc(100% - 30px));padding:34px;border:1px solid #ffffff1b;border-radius:26px;background:#11091ddd;box-shadow:0 40px 120px #0008}.auth h2{font-size:38px;margin:8px 0}.auth>p{color:var(--muted);line-height:1.5}.auth-brand{font-weight:950;letter-spacing:.2em;color:#ff6db6}.close{position:absolute;right:16px;top:12px;background:none;border:0;color:#fff;font-size:30px;cursor:pointer}.auth form{display:grid;gap:14px;margin-top:22px}.auth label{display:grid;gap:7px;font-size:13px;font-weight:800;color:#d8cfdf}.auth input{width:100%;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:#0b0612;color:#fff;outline:none}.auth input:focus{border-color:#ff52ad}.reset,.switch button{border:0;background:none;color:#ff70b8;cursor:pointer;font-weight:800}.reset{margin-top:15px}.switch{font-size:13px;text-align:center}.switch button{padding:0}#auth-error{min-height:20px;color:#ff8da9;font-size:13px}@media(max-width:900px){.nav nav{display:none}.hero{grid-template-columns:1fr;padding-top:55px}.visual{min-height:400px}.features{grid-template-columns:repeat(2,1fr)}.safety{grid-template-columns:1fr}.safety-badge{width:min(340px,100%);margin:auto}.strip{grid-template-columns:repeat(2,1fr);gap:18px}.strip div:nth-child(2){border:0}}@media(max-width:600px){.nav{height:68px}.nav-actions .ghost{display:none}.hero h1{font-size:54px}.hero-actions{flex-direction:column}.visual{min-height:350px}.heart{width:120px;height:120px;font-size:65px}.card-one{left:-5px;top:35px}.card-two{right:-5px;bottom:30px}.profile-card{min-width:205px;font-size:12px}.features{grid-template-columns:1fr}.section,.safety{padding-top:75px;padding-bottom:75px}.strip{padding:18px}.strip div{border:0!important}.strip span{font-size:11px}footer{flex-direction:column;align-items:flex-start}}

/* NEXA typography cleanup */
body,input,button{font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}.heart:after{content:'N';font-size:54px;font-weight:900;letter-spacing:.08em;color:#fff}.profile-card b{font-size:0}.profile-card b:after{content:'•';font-size:20px}.links a:after{content:'  ›';}.android:after{content:'  ›';}.features i{font-size:0}.features article:nth-child(1) i:after{content:'D';font-size:22px}.features article:nth-child(2) i:after{content:'M';font-size:22px}.features article:nth-child(3) i:after{content:'C';font-size:22px}.features article:nth-child(4) i:after{content:'G';font-size:22px}
/* ============================================================================
   NEXA WARM SKIN - the public page
   ----------------------------------------------------------------------------
   The palette is the one chosen for NEXA:

     Warm White   #fff9f7   the ground the page is written on
     Soft Blush   #f8dde7   the wash across it
     Lavender     #d9b8e4   the second wash, and the light accent
     Mauve        #b985b5   the colour of the things you touch
     Deep Rose    #8f587d   filled buttons and quiet text
     Warm Beige   #e8d3c5   the warm note that keeps it from being only pink
     Light Taupe  #d8c4c8   every line and edge
     Black        #111111   all main text

   White text is only ever placed on Deep Rose, which carries it; on Mauve and
   Lavender the text is black, because white on those cannot be read.
   ============================================================================ */

:root {
  --bg: #fff9f7;
  --panel: #ffffff;
  --text: #111111;
  --muted: #8f587d;
  --pink: #8f587d;
  --purple: #b985b5;
  --line: #d8c4c8;

  --nexa-blush: #f8dde7;
  --nexa-lavender: #d9b8e4;
  --nexa-mauve: #b985b5;
  --nexa-rose: #8f587d;
  --nexa-beige: #e8d3c5;
  --nexa-taupe: #d8c4c8;
}

body {
  background:
    radial-gradient(70% 48% at 78% -6%, var(--nexa-lavender) 0, rgba(217, 184, 228, 0) 62%),
    radial-gradient(60% 44% at 6% 8%, var(--nexa-blush) 0, rgba(248, 221, 231, 0) 58%),
    radial-gradient(58% 40% at 92% 96%, var(--nexa-beige) 0, rgba(232, 211, 197, 0) 56%),
    var(--bg);
  color: var(--text);
}

.nav {
  background: rgba(255, 249, 247, .82);
  border-bottom: 1px solid var(--nexa-taupe);
  color: var(--text);
}

.strip, .profile-card, .safety-badge, .auth {
  background: #ffffff;
  border: 1px solid var(--nexa-taupe);
  color: var(--text);
  box-shadow: 0 10px 26px rgba(143, 88, 125, .10);
}

.cta {
  background: var(--nexa-rose);
  border: 0;
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(143, 88, 125, .28);
}
.cta:hover { background: #7d4a6c; }

.ghost {
  background: #ffffff;
  border: 1px solid var(--nexa-mauve);
  color: var(--nexa-rose);
}
.ghost:hover { background: var(--nexa-blush); }

.modal-backdrop { background: rgba(17, 17, 17, .38); }

/* Anything the page writes in the accent reads as the deep rose, not the pale mauve. */
h1 span, .kicker, .eyebrow { color: var(--nexa-rose); }

/* The pieces the page paints with gradients rather than colours: the feature cards, the
   headline's coloured half, the floating orbs and the little avatars. Left alone they kept the
   old magenta-and-violet, which fought everything around them. */
.features article {
  background: linear-gradient(150deg, #ffffff, #fdf3f6);
  border: 1px solid var(--nexa-taupe);
  color: var(--text);
  box-shadow: 0 10px 26px rgba(143, 88, 125, .10);
}
.features article p { color: var(--nexa-rose); }

h1 em, .hero em, em {
  background: linear-gradient(90deg, #8f587d, #b985b5);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}

.orb-a { background: radial-gradient(circle, rgba(217, 184, 228, .55) 0, rgba(217, 184, 228, 0) 68%); }
.orb-b { background: radial-gradient(circle, rgba(232, 211, 197, .55) 0, rgba(232, 211, 197, 0) 70%); }

.heart, .avatar, .avatar-one, .avatar-two, .badge {
  background: linear-gradient(135deg, #8f587d, #b985b5);
  color: #fff;
}

/* The sign-in fields inside the modal were still the old near-black. */
.modal input, .auth input, input {
  background: #ffffff;
  border: 1px solid var(--nexa-taupe);
  color: var(--text);
}
.modal input::placeholder, .auth input::placeholder, input::placeholder { color: #8a7480; }

/* Navigation links were pale grey on a pale ground. */
.nav a, .nav-links a { color: var(--text); }
.nav a:hover, .nav-links a:hover { color: var(--nexa-rose); }

/* The trust strip is four small facts, not four buttons: dark ink on the white card. */
.strip div { color: var(--text); }
.strip b { color: var(--nexa-rose); }
.strip span { background: none; color: var(--text); }
.features article h3, .features article b { color: var(--text); }

/* Contact block above the footer. */
.contact-band{padding:70px clamp(20px,6vw,80px) 60px;border-top:1px solid var(--line);background:radial-gradient(circle at 20% 0,#ff2aa122,transparent 45%),radial-gradient(circle at 85% 100%,#8c4dff26,transparent 50%)}
.contact-card{max-width:760px;margin:auto;text-align:center;padding:42px 28px;border:1px solid #ffffff1c;border-radius:30px;background:linear-gradient(160deg,#181026,#0f0818);box-shadow:0 30px 90px #0006}
.contact-card h2{margin:10px 0 22px;font-size:clamp(30px,4vw,46px)}
.contact-mail{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:999px;font-weight:900;font-size:clamp(17px,2.4vw,24px);letter-spacing:.01em;color:#fff;background:linear-gradient(100deg,var(--pink),var(--purple));box-shadow:0 16px 44px #ff2aa14d,inset 0 1px 1px #ffffff55;transition:transform .15s ease,box-shadow .15s ease;word-break:break-all}
.contact-mail:hover{transform:translateY(-2px);box-shadow:0 22px 54px #ff2aa166,inset 0 1px 1px #ffffff55;color:#fff}
.contact-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffffff2a;font-size:18px}
.contact-card p{color:var(--muted);margin:22px auto 0;max-width:520px;line-height:1.6}
footer a{color:#ff70b8;font-weight:800}

/* Follow us - top-right corner of the first page; copyright - centred at the very bottom. */
.nexa-follow{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.06em;color:#8f587d;white-space:nowrap}
.nexa-follow a{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#ff72bd;transition:transform .15s,background .15s}
.nexa-follow a:hover{transform:translateY(-1px);background:rgba(255,42,161,.14)}
.nexa-copyright{text-align:center;padding:18px 20px 26px;color:#8e8498;font-size:12px;line-height:1.6;border-top:1px solid var(--line)}
@media(max-width:420px){.nexa-follow span{display:none}}

/* Follow us - home page only */
.nexa-follow{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 16px;border-radius:999px;background:#ffffff;border:1px solid var(--nexa-taupe);box-shadow:0 8px 22px rgba(143,88,125,.10);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--nexa-rose);white-space:nowrap}
.nexa-follow span{margin-right:2px}
.nexa-follow a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:0;background:linear-gradient(135deg,var(--nexa-rose),var(--nexa-mauve));color:#fff;box-shadow:0 6px 16px rgba(143,88,125,.28);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.nexa-follow a svg{width:20px;height:20px}
.nexa-follow a:hover{transform:translateY(-2px) scale(1.06);box-shadow:0 10px 22px rgba(143,88,125,.36);filter:saturate(1.1);background:linear-gradient(135deg,var(--nexa-rose),var(--nexa-mauve))}
.nexa-follow a:active{transform:translateY(0) scale(.98)}
@media(max-width:600px){.nexa-follow{padding:5px 6px 5px 12px;gap:8px;font-size:11px}.nexa-follow a{width:36px;height:36px}.nexa-follow a svg{width:18px;height:18px}}
@media(max-width:420px){.nexa-follow span{display:none}.nexa-follow{padding:5px 6px}}

/* 2026-09-26 flow: sign-in / create-account modal must scroll on short phones instead of clipping. */
.modal.open{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.modal-backdrop{position:fixed}
.auth input{font-size:16px}
.auth .auth-note{font-size:13px;line-height:1.45;margin:-4px 0 12px;color:var(--nexa-rose,#8f587d)}
@media (max-height:760px),(max-width:520px){
  .modal.open{place-items:start center;padding:12px 0}
  .auth{padding:22px 20px}
  .auth h2{font-size:28px}
}
/* Hero Create account / Sign in buttons */
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
