:root{
  --bg:#04070c;

  --glass: rgba(255,255,255,.07);
  --border: rgba(255,255,255,.14);

  --cool: rgba(120,255,255,.55);
  --warm: rgba(255,186,110,.55);

  --ease: cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}

body{
  margin:0;
  min-height:100vh;

  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;

  background: radial-gradient(circle at top, #09121f, #04070c 65%);
  color:#fff;

  overflow:hidden;
}


/* ================= TOP BAR ================= */

.topbar{
  position:sticky;
  top:0;
  z-index:20;

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

  padding:18px 26px;

  background: rgba(0,0,0,.55);
  backdrop-filter: blur(16px);

  border-bottom:1px solid var(--border);
}

.back{
  text-decoration:none;
  color:#fff;
  opacity:.85;

  padding:8px 12px;
  border-radius:10px;

  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.25);

  margin-right:auto;

  transition:.25s;
}

.back:hover{
  opacity:1;
  border-color: var(--cool);
  box-shadow: 0 0 18px rgba(120,255,255,.25);
}

.title{
  font-size:13px;
  letter-spacing:.22em;
  text-transform:uppercase;
  opacity:.85;
}


/* ================= ORBS ================= */

.orb{
  position:absolute;
  border-radius:50%;
  filter: blur(120px);
  opacity:.45;
  pointer-events:none;
}

.orb.cool{
  background: var(--cool);
  width:380px;
  height:380px;
  top:15%;
  left:-120px;
  animation: float1 18s infinite alternate ease-in-out;
}

.orb.warm{
  background: var(--warm);
  width:420px;
  height:420px;
  bottom:-140px;
  right:-120px;
  animation: float2 20s infinite alternate ease-in-out;
}

@keyframes float1{
  from{ transform:translate(0,0); }
  to{ transform:translate(80px,50px); }
}
@keyframes float2{
  from{ transform:translate(0,0); }
  to{ transform:translate(-70px,-50px); }
}


/* ================= MAIN ================= */

.quotes{
  position:relative;

  height:calc(100vh - 74px);

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


/* ================= CARD ================= */

.card{
  position:relative;

  background: linear-gradient(
    180deg,
    rgba(255,255,255,.09),
    rgba(255,255,255,.02)
  );

  border:1px solid var(--border);
  border-radius:26px;

  padding:60px 60px 56px;

  text-align:center;

  backdrop-filter: blur(18px);

  box-shadow: 0 40px 80px rgba(0,0,0,.7);

  z-index:5;
}


/* Pulse Ring */

.card::before{
  content:"";
  position:absolute;
  inset:-18px;

  border-radius:inherit;

  border:1px solid var(--cool);

  opacity:.4;

  animation: pulse 2.5s infinite;
}

body.warm .card::before{
  border-color: var(--warm);
}

@keyframes pulse{
  0%{ transform:scale(1); opacity:.45; }
  100%{ transform:scale(1.08); opacity:0; }
}


/* Text */

.card h1{
  margin:0 0 14px;

  font-size:38px;
  letter-spacing:.04em;
}

.card p{
  margin:0;

  font-size:14px;
  opacity:.7;
}


/* ================= MOBILE ================= */

@media(max-width:700px){

  .card{
    padding: 40px 28px 40px;
  }

  .card h1{
    font-size:30px;
  }
}

/* Fix quotes overflow on mobile */

@media(max-width:700px){

  body{
    overflow-x:hidden; /* prevent side cut */
  }

  .card{
    max-width:82vw;    /* fit screen */
    width:100%;

    padding:36px 22px 34px;
  }

  /* Reduce glow spread */
  .card::before{
    inset:-10px;
  }

}

