/* ========== Medecosystem Styles ========== */
:root{
  --bg:#0b0f1a;
  --surface:#0e1526;
  --glass:rgba(255,255,255,.08);
  --text:#e9edf6;
  --muted:#b8c1d9;
  --primary:#37e6b5;    /* teal */
  --primary-2:#5b8cff;  /* indigo/blue for accents */
  --ring:rgba(55,230,181,.35);
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --radius:16px;
}

*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);
  background: radial-gradient(1200px 600px at 10% -10%, rgba(91,140,255,.15), transparent),
              radial-gradient(1100px 700px at 110% 0%, rgba(55,230,181,.12), transparent),
              var(--bg);
}

/* Helpers */
.container{width:min(1100px, 92vw); margin:0 auto}
h1,h2,h3{line-height:1.12; margin:0 0 .6rem}
h1{font-size:clamp(2.2rem, 4vw + .8rem, 3.75rem); font-weight:800}
h2{font-size:clamp(1.6rem, 2.4vw + .6rem, 2.2rem); font-weight:700}
h3{font-size:1.2rem; font-weight:700}
p{margin:.5rem 0 0; color:var(--muted)}
a{color:inherit; text-decoration:none}
.tiny{font-size:.82rem; color:var(--muted)}
.highlight{background: linear-gradient(90deg, var(--primary), var(--primary-2));
  -webkit-background-clip:text; background-clip:text; color:transparent}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.7rem 1rem; border-radius:12px; font-weight:600; gap:.5rem;
  border:1px solid transparent; transition:.22s ease; position:relative;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-lg{padding:.9rem 1.15rem; font-size:1.05rem}
.btn-primary{
  background:linear-gradient(180deg, var(--primary), #16caa1);
  color:#042019; box-shadow:0 8px 22px var(--ring);
}
.btn-outline{
  border-color:rgba(255,255,255,.18);
  background:transparent; color:var(--text)
}
.btn-outline:hover{background:rgba(255,255,255,.06)}
.btn-ghost{background:rgba(255,255,255,.06); border-color:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.1)}

/* Header */
.site-header{
  position:sticky; top:0; z-index:40; backdrop-filter:saturate(140%) blur(8px);
  background:linear-gradient(180deg, rgba(11,15,26,.7), rgba(11,15,26,.35) 60%, transparent);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:.8rem 0}
.brand{display:inline-flex; align-items:center; gap:.6rem; font-weight:800; letter-spacing:.3px}
.brand-dot{width:12px; height:12px; border-radius:50%; background:linear-gradient(180deg, var(--primary), var(--primary-2)); box-shadow:0 0 0 5px rgba(55,230,181,.15)}
/* .brand-text{text-transform:lowercase} */
.nav-cta{display:flex; gap:.6rem}

/* Hero */
.hero{position:relative; overflow:hidden; padding:clamp(2rem, 6vw, 5rem) 0 3rem}
.map-grid{
  position:absolute; inset:0; pointer-events:none; opacity:.18; mix-blend:screen;
  background:
    repeating-linear-gradient(0deg, transparent 0 48px, rgba(255,255,255,.05) 48px 49px),
    repeating-linear-gradient(90deg, transparent 0 48px, rgba(255,255,255,.05) 48px 49px);
}
.hero-grid{display:grid; grid-template-columns:1.02fr .98fr; gap:min(6vw, 56px); align-items:center}
.hero-copy .sub{font-size:1.1rem}
.hero-actions{display:flex; gap:.8rem; margin:1.1rem 0 1.2rem}
.trust-logos{display:flex; gap:1.2rem; padding:0; margin:1rem 0 0; list-style:none; color:var(--muted); flex-wrap:wrap}
.trust-logos li{padding:.35rem .6rem; background:rgba(255,255,255,.06); border-radius:999px; border:1px solid rgba(255,255,255,.06)}

/* Phone mock */
.phone{
  position:relative; width:min(440px, 88%); justify-self:end;
  height:640px; border-radius:30px; padding:22px 14px 14px;
  background:linear-gradient(180deg, #0a121f, #0b1528);
  border:1px solid rgba(255,255,255,.12); box-shadow:var(--shadow);
}
.phone-notch{position:absolute; top:10px; left:50%; transform:translateX(-50%);
  width:180px; height:30px; background:#0b0f1a; border-radius:0 0 16px 16px; border:1px solid rgba(255,255,255,.12); border-top:none}
.chat{position:absolute; inset:58px 16px 16px; display:flex; flex-direction:column; gap:10px}
.bubble{
  max-width:84%; padding:.65rem .8rem; border-radius:16px;
  font-size:.98rem; line-height:1.25; border:1px solid rgba(255,255,255,.08)
}
.outgoing{align-self:flex-end; background:linear-gradient(180deg, rgba(55,230,181,.18), rgba(55,230,181,.06))}
.incoming{align-self:flex-start; background:rgba(255,255,255,.06)}
.profile-card{
  margin-top:.4rem; display:flex; align-items:center; gap:.75rem;
  padding:.6rem; border-radius:14px; border:1px solid rgba(255,255,255,.08)
}
.glass{background:var(--glass); backdrop-filter:blur(10px)}
.avatar{
  width:40px; height:40px; border-radius:50%; display:grid; place-items:center; font-weight:800;
  color:#06221a; background:linear-gradient(180deg, var(--primary), #1ad2aa);
}
.pc-copy{display:flex; flex-direction:column}
.pc-name{font-weight:700}
.pc-meta{font-size:.86rem; color:var(--muted)}
.pc-btn{margin-left:auto; border:none; border-radius:10px; padding:.45rem .6rem; font-weight:700; cursor:pointer; color:#06221a;
  background:linear-gradient(180deg, var(--primary), #16caa1); box-shadow:0 6px 14px var(--ring)}
.pc-btn:hover{transform:translateY(-1px)}
/* Floating chips */
.floats .chip{
  position:absolute; padding:.45rem .7rem; border-radius:999px; font-size:.82rem; border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08); backdrop-filter:blur(10px); box-shadow:0 4px 16px rgba(0,0,0,.25);
  animation:float 6s ease-in-out infinite;
}
.chip-a{top:-18px; left:-18px; animation-delay:0s}
.chip-b{bottom:16%; right:-24px; animation-delay:1.1s}
.chip-c{top:22%; right:-18px; animation-delay:2.1s}
.chip-d{bottom:-14px; left:20%; animation-delay:3.2s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Sections */
.how{padding:64px 0}
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:18px}
.card{padding:22px; border-radius:var(--radius); border:1px solid rgba(255,255,255,.08)}
.card-icon{font-size:1.4rem}

.features{padding:22px 0 54px}
.features-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.feat{padding:22px; border-radius:var(--radius); border:1px solid rgba(255,255,255,.08)}

/* Signup */
.signup{padding:54px 0 84px}
.signup-inner{padding:26px; border-radius:22px; border:1px solid rgba(255,255,255,.08)}
.signup-inner .signup-copy{margin-bottom:14px}
.form .grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px}
.field{display:flex; flex-direction:column; gap:.45rem}
.field span{font-size:.9rem; color:var(--muted)}
.field input, .field select, .field textarea{
  width:100%; padding:.75rem .85rem; border-radius:12px; border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06); color:var(--text); outline:none; transition:border .2s
}
.field select{ color:#0D0D0D; background:#fff; }
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--primary)}
.field--full{grid-column:1 / -1}
.checkbox{display:flex; align-items:flex-start; gap:.6rem; margin:10px 0 14px}
.checkbox input{margin-top:.2rem}
.form-status{margin-top:.6rem; min-height:1.25rem}
.hp{display:none}

/* Footer */
.footer{border-top:1px solid rgba(255,255,255,.08); padding:26px 0}
.footer-grid{display:grid; grid-template-columns:1fr auto auto; gap:18px; align-items:center}
.footer-links{display:flex; gap:1rem; align-items:center; flex-wrap:wrap}
.footer-links a{color:var(--muted)}
.footer-links a:hover{color:var(--text)}
.social{display:flex; gap:.6rem}
.social-icon{width:36px; height:36px; display:grid; place-items:center; border-radius:10px;
  border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04)}
.social-icon:hover{transform:translateY(-1px)}
.social-icon svg{width:18px; height:18px; fill:currentColor}

/* Modal */
.modal{position:fixed; inset:0; display:none; place-items:center; z-index:50}
.modal.show{display:grid}
.modal-backdrop{position:absolute; inset:0; background:rgba(0,0,0,.5)}
.modal-card{position:relative; width:min(520px, 92vw); padding:22px; border-radius:16px; border:1px solid rgba(255,255,255,.1)}
.modal-close{position:absolute; top:10px; right:10px; font-size:24px; line-height:1; width:36px; height:36px; border-radius:8px; border:1px solid rgba(255,255,255,.14); background:transparent; color:var(--text); cursor:pointer}

/* Responsive tweaks */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr}
  .phone{justify-self:center; order:-1; margin-bottom:16px}
  .cards, .features-grid{grid-template-columns:1fr}
  .form .grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr; justify-items:flex-start}
}