
:root{
  --brand:#1c7ed6;
  --brand-2:#1971c2;
  --text:#0b1320;
  --bg: #f7fafc;
  --white: #ffffff;
  --shadow: 0 10px 30px rgba(0,0,0,.15);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.5;
}

.container{
  width:min(1100px, 92vw);
  margin-inline:auto;
  padding-inline: 0.5rem;
}

.topbar{
  position:fixed;
  inset:0 0 auto 0;
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(140%) blur(8px);
  box-shadow: var(--shadow);
  z-index:10;
}

.brand{display:flex; align-items:center; gap:.6rem; padding:.6rem 0;}
.logo-circle{
  display:inline-grid; place-items:center;
  width:28px;height:28px;border-radius:999px;
  background:var(--brand); color:white; font-weight:700;
}

.hero{
  position:relative;
  min-height: 82vh;
  display:grid;
  align-items:center;
  background-image: linear-gradient( to bottom, rgba(0,0,0,.45), rgba(0,0,0,.55) ), url('../assets/bg-clinica.png');
  background-size: cover;
  background-position: center;
  color:white;
  text-align:center;
  padding-top:64px; /* space for topbar */
}

.hero .content{position:relative; z-index:2; padding: 2rem 0 3rem;}
.hero h1{
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  margin: 0 0 .5rem;
  letter-spacing:.3px;
}
.subtitle{font-size:clamp(1rem, 2.4vw, 1.25rem); opacity:.95; margin:0 0 1.25rem}

.cta{
  display:inline-block;
  background:linear-gradient(135deg, var(--brand), var(--brand-2));
  color:var(--white);
  padding:.95rem 1.25rem;
  border-radius: 999px;
  font-weight:700;
  text-decoration:none;
  box-shadow: var(--shadow);
  transition: transform .12s ease, filter .12s ease;
}
.cta:hover{ transform: translateY(-1px); filter:brightness(1.03); }
.cta:active{ transform: translateY(0); }

.note{opacity:.9; font-size:.95rem; margin-top:.8rem}

.info{padding: 2.5rem 0 3rem; background:var(--bg);}
.info h2{margin:0 0 1rem; font-size:1.6rem}
.bullets{margin:0; padding-left:1.1rem}
.bullets li{margin:.4rem 0}

.footer{
  background:#0c1118;
  color:#c8d0db;
  padding:1.25rem 0;
  text-align:center;
}

/* A11y focus styles */
a:focus-visible{
  outline: 3px solid #fff;
  outline-offset: 2px;
  border-radius:10px;
}
