body {
  background-image: url('starulae.png'); 
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin: 0;
   padding: 0;
 height: 100vh;       
 min-height: 100vh;
 overflow-x: hidden;
  color: rgb(247, 6, 255);
  font-family: sans-serif;
}
@media (max-width: 768px) {
  section {
    padding: 5vw; /* already there, but increase specificity if needed */
    background-size: cover; /* not contain — contain can leave empty space */
  }
}
.ufo {
  background-image: url('ufo.gif');
position: relative;
z-index: 6;
 width: 120px;           
  height: 270px;
  background-image: url('ufo.gif');
 background-size: 3rem;
 background-repeat: no-repeat;
}
.exoplanets {
font-family: 'exoplanetfont', sans-serif;
  font-size: 3rem;
  padding-left: 4.5rem;
  padding-bottom: 1.4rem;
  filter: drop-shadow(0 0 4px #a91ce0) drop-shadow(0 0 3px #7e38ff);

}
@font-face {
  font-family: 'exoplanetfont' ;
  src: url(FastHand-lgBMV.ttf);
}
.exoplanet-float {

  font-family: 'Links', sans-serif;
  font-size: 3rem;
  padding-block: initial;
   animation:
  floaty-move 3s ease-in-out infinite,
    sparkle-shift 12s linear infinite alternate;
    
}

.zoom-inexo {
  display: inline-block;
  transition: transform 0.3s ease;
}

.zoom-inexo:hover {
  transform: scale(1.05); /* zooms in by 10% */
}



.exoplanet-text a:hover {
  color: #000000 !important;
}


/* Phones */
@media (max-width: 768px) {
  .exoplanets {
    font-size: 6vw; 
    padding-left: 5%;
  }
  
  section.custom-cursor {
    padding: 1rem;
  }
  
  ul.exoplanets {
    padding-left: 1rem;
  }
}


.left-row {

  align-items: center;   /* centers the <ul> under the <h3> */
  text-align: center;
   list-style: none;
  grid-column: 1;
}


.right-row
{
  grid-column: 3;
}


@font-face {
font-family: 'Starulae'; /*this is the name used for CSS*/
src: url('SciAuralieph-O196.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}

.list2font {
font-family: 'List2'; /*this is the name used for CSS*/
font-size: 2rem;

  filter: drop-shadow(0 0 4px #c402ff) drop-shadow(0 0 3px #4f4cff);
}

@font-face {
  font-family: 'List2';
  src: url('Nebulax-3lqLp.ttf') format('truetype');
  font-style: normal;
}

.bullet-gif2 li {
  position: relative;
  padding-left: 2.5rem; /* space for bullet */

  list-style: none;
}

.bullet-gif2 li::before {
  content: "";
  position: absolute;
  left: 0;
 top: 0rem;
width: 1.5rem;
height: 5rem;
  background-image: url('color_earth.gif');
  background-size: 2rem;
  background-repeat: no-repeat;
}

.bubble-text {
  padding: 0.6rem 0.6rem;
  border-width: 0.6rem;      
  border-style: solid;         /* required for border-image to work */
  border-image-source: url('images/my-border.png');
  border-image-slice: 20;      /* how much to slice the border image */
  border-image-repeat: round;  /* how to fill the border area */
  border-radius: 30px;         
  background-color: rgba(0,0,0,0.6);
  color: white;
  display: inline-block;
cursor: url('Sailor\ moon\ 2.cur'), auto;

}


.glow-animate {
    color: rgb(0, 0, 0);
    animation: glowPulse 11s infinite alternate ease-in-out;
  }

  @keyframes glowPulse {
    0% {
      color: rgb(255, 100, 100); 
      text-shadow: 0 0 6px rgb(255, 0, 0), 0 0 20px rgb(255, 102, 0);
    }

    50% {
      color: rgb(150, 150, 255); 
text-shadow: 0 0 6px rgb(68, 0, 255), 0 0 20px rgb(0, 119, 255);
    }
    
    100% {
       color: rgb(255, 0, 119); 
      text-shadow: 0 0 10px rgb(156, 0, 104), 0 0 40px rgb(255, 164, 243);
    }
  }

  .my-title {

  font-family: 'Starulae', sans-serif;
  font-size: 1.04rem;
}



a {
  cursor: url('Link Select.cur'), pointer;
}

.quick-links {

font-size: 3.6rem;
  max-width: 30%;
  margin-top: 0%;
  padding: 0.2rem;
  color: #f370ff !important;

}
@media (max-width: 768px) {
  .quick-links, .other-section {
    width: 95%;
    padding: 1rem;
  }
}

.centerpage {
   margin-left: auto;
  margin-right: auto;
}
@font-face {
font-family: 'Links'; /*this is the name used for CSS*/
src: url('ElectronPulse-9Yn42.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}

.link-title {
font-family: 'Links', sans-serif;
  font-size: 3rem;
  padding-left: 4.5rem;
  padding-bottom: 1.4rem;
  filter: drop-shadow(0 0 4px #c402ff) drop-shadow(0 0 3px #4f4cff);

}

.sparkle-float {

  font-family: 'Links', sans-serif;
  font-size: 3rem;
  padding-block: initial;


  


  /* Animations */
  animation:
    floaty-move 3s ease-in-out infinite,
    sparkle-shift 12s linear infinite alternate;
}

/* Gentle vertical float */
@keyframes floaty-move {
  0%   { transform: translateY(1); }
  50%  { transform: translateY(-7px); }
  100% { transform: translateY(3); }
}





.butterfly-gif {
   margin-left: auto;
  margin-right: auto;
    width: 3rem;         
  height: auto;        /* keep aspect ratio */
  margin-bottom: 3rem; 
  display: block; 
}

@media (max-width: 600px) {
  .butterfly-gif {
    width: 2rem;       
    margin-bottom: 2rem;
  }
}
.homepage-row {
display: grid;
  grid-template-columns: 1fr min-content 1fr; /* left | middle | right */
  align-items: start;        /* align tops of all items */
  column-gap: 2rem;          /* spacing between columns */                        /* spacing between columns */
}
@media (max-width: 768px) {
  .homepage-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
}

.custom-cursor2 {
   

    cursor: url('Sailor\ moon\ 2.cur'), auto;
}

.quicklinks-block
{
  
  grid-column: 2;       /* middle */
  justify-self: center;  /* true page center */
}


.princess-wrapper {
 position: relative;
width: 25rem;
height: 25rem;
margin-left: 1.25rem;
}

.princess-frame {
   position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('princess border.gif');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 0;
  filter: drop-shadow(0 0 6px #d46bd4) drop-shadow(0 0 10px #f867f8);
  animation: glow 1.5s ease-in-out infinite alternate;
}

@media (max-width: 768px) {
  .princess-wrapper {
    width: 80vw;
    height: auto;
  }
}
.princess-box {
  padding: 6rem 2rem;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  animation: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  
}


.bullet-gif {
  list-style: none;
  padding-left: 1;
  text-align: left;
padding-top: 4;
}

.bullet-gif li {
  position: relative;
  padding-left: 2.4rem; /* space for bullet */
  margin-bottom: 1rem;
}

.bullet-gif li::before {
  content: "";
  position: absolute;
  left: 0;
 top: 0rem;
width: 1.5rem;
height: 10rem;
  background-image: url('kittybutton.gif');
  background-size: contain;
  background-repeat: no-repeat;
}


@font-face {
font-family: 'Socials'; /*this is the name used for CSS*/
src: url('BespokeLaadcx2ge-M5xw.ttf') format('truetype');
}

.socials-text li,
.socials-text a {

  font-family: 'Socials', sans-serif;
  word-wrap: break-word;
  font-size: 1.05rem;
  max-width: 81%;
  display: inline-block;
  font-weight: bold;
}

.zoom-in {
  display: inline-block;
  transition: transform 0.3s ease;
}

.zoom-in:hover {
  transform: scale(1.05); /* zooms in by 10% */
}


a {
  color: #f772e0; /* your custom color */
  text-decoration: wavy;
}

.socials-text a:hover {
  color: #ea96ff; /* hover color */
}

.right-row {
 display: flex;
  flex-direction: column;
  align-items: flex-start;   /* top-left inside the column */

  text-align: center;
  padding: 0;
}


.universe-wrapper {           /* fill the column */
  max-width: 90%;       /* prevent overflow */
  position: relative;
  width: 100%;
  height: 100%;
  
}

.universe-frame {
   position: absolute;
  top: 0%;
  left: 2%;
  width: 100%;
  height: 130%;
  background-image: url('Expanding Universe.gif');
  background-size: cover;
  background-repeat: no-repeat;
  filter: drop-shadow(0 0 6px #d46bd4) drop-shadow(0 0 10px #f867f8);
  animation: glow 1.5s ease-in-out infinite alternate;
  display: inline-block;
}


.universe-box {
 padding: 6rem 2rem;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  animation: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  
}

.centerpageimg {
    position: relative;           /* for overlay positioning */
  display: flex;
  justify-content: center;       /* horizontal center */
  align-items: center;           /* vertical center */
  width: 100vw;
  height: 100vh;                 /* fill full viewport */
 
}

.centerpageimg img {

  max-width: 800px;   /* adjust size */
  width: 100%;
  height: 70%;
  z-index: 1;         /* on top */
 transform: translateY(-40%);
}

.leadingbridge {
  background-image: url(leadingbridge.gif);
  background-repeat: no-repeat;
  z-index: 1;
  position: absolute;  
  top: 10%;
  left: 50%;
  transform: translate(-79%, -148%); 
  width: 70%;        
  height: 50%;
  scale: 50%;
  border-radius: 40%;
 border-bottom-left-radius: 40%;
 border-bottom-right-radius: 0%;
}

.bridgeconnect {

   background-image: url(bridgeconnect.gif);
  position: absolute;
  top: 30%;      
  left: 60%;
  transform: translate(-90%, -250%); 
  width: 210px;   
  height: 200px;  
  background-repeat: no-repeat;
  z-index: 3;
border-bottom-left-radius: 10%;
border-top-left-radius: 40%;
}

.gardenofhope {
     position: absolute;  
  top: 20%;
  left: 50%;
  transform: translate(-50%, -49%); 
  width: 37%;        
  height: 81%;
  background-image: url('gardenofhope.gif');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 0;          
  pointer-events: none; 
}

 .end-message {
position:sticky;
bottom: 0;
width: 100%;
text-align: center;


  }

  html, body {
  overflow-x: hidden; /* prevent horizontal scroll */
}

* {
  box-sizing: border-box; /* makes width calculations include padding/border */
}
