
:root{
  --text:#d9dde2;
}
*{box-sizing:border-box}
html,body{
  height:100%;
  margin:0;
}
body{
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  color:var(--text);
  background:#00131b;
}
.hero{
  position:relative;
  min-height:100dvh;
  display:grid;
  place-items:center;
  text-align:center;
  isolation:isolate;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:url("./assets/background.jpg") center/cover no-repeat;
  filter:saturate(0.9) contrast(1.05) brightness(0.95);
  z-index:-2;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at center, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.55) 65%, rgba(0,0,0,0.85) 100%);
  z-index:-1;
}

.container{
  width:min(92%, 980px);
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18vh;
}

.title-wrap{
  display:flex;
  align-items:center;
  gap:20px;
  flex-direction:column;
  margin-top:10vh;
}

h1{
  font-weight:500;
  letter-spacing:0.02em;
  font-size: clamp(28px, 5vw, 56px);
  margin:0;
  text-shadow: 0 2px 18px rgba(0,0,0,0.6);
}

.cta{
  margin-block: 10vh 6vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}

a.button{
  display:inline-block;
  padding:14px 26px;
  border:1px solid rgba(217,221,226,0.65);
  border-radius:999px;
  text-decoration:none;
  color:var(--text);
  font-size:clamp(16px, 2.4vw, 20px);
  letter-spacing:0.02em;
  backdrop-filter: blur(2px);
  background:rgba(0, 20, 30, 0.35);
  transition: transform .15s ease, background .2s ease, border-color .2s ease;
}
a.button:hover{
  transform:translateY(-1px);
  background:rgba(0, 28, 40, 0.55);
  border-color: rgba(217,221,226,0.9);
}

.login-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  max-width: 320px;
}

.login-form input {
  padding: 12px 14px;
  border: 1px solid rgba(217,221,226,0.65);
  border-radius: 8px;
  font-size: 16px;
  background: rgba(0,20,30,0.4);
  color: var(--text);
}

.login-form input::placeholder {
  color: rgba(217,221,226,0.7);
}

/* About page */
.about-container {
  max-width: 700px;
  text-align: center;
  font-size: 19px;
  line-height: 1.6;
}
