@import url('https://fonts.googleapis.com/css2?family=Alegreya:wght@400;500;600;700&display=swap');

@font-face{
  font-family:"Badger";
  src:url("/fonts/badger.woff2") format("woff2"),
      url("/fonts/badger.woff") format("woff");
  font-display:swap;
}

:root{
  --pale:#d3daf0;
  --purple:#463451;
  --lavender:#6977c8;
  --gold:#b8a16c;
  --white:#fff;
}

*{box-sizing:border-box}

html,
body{
  margin:0;
  min-height:100%;
}

body{
  background:var(--pale);
  color:#111;
  font-family:"Alegreya",Georgia,"Times New Roman",serif;
}

a{color:#2432d8}

.site-top{
  min-height:260px;
  display:grid;
  place-items:center;
  padding:1.2rem;
  background:
    linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.2)),
    url("/homepage/crossmedia.jpeg") center/cover no-repeat;
  text-align:center;
}

.site-top img{
  width:min(500px,70vw);
  height:auto;
}

.site-top nav{margin-top:1rem}

.site-top nav a{
  color:#fff;
  font-family:"Badger","Alegreya",serif;
  font-size:1.2rem;
  text-decoration:none;
}

.page{
  width:min(1240px,92vw);
  margin:0 auto;
  padding:2rem 0 4rem;
}

h1,
h2,
h3{
  color:var(--purple);
  font-family:"Badger","Alegreya",serif;
}

h1{
  margin:0 0 1.5rem;
  text-align:center;
  font-size:clamp(3rem,7vw,5.5rem);
}

h2{font-size:clamp(2rem,4vw,3rem)}

.lead{
  font-size:clamp(1.2rem,2vw,1.7rem);
  line-height:1.5;
  text-align:center;
}

.section-image{
  display:block;
  width:100%;
  height:auto;
  margin:1.5rem 0;
  border-radius:8px;
}

.back{
  display:inline-block;
  padding:.7rem 1rem;
  border-radius:10px;
  background:var(--gold);
  box-shadow:0 8px 20px rgba(0,0,0,.15);
  color:#fff;
  text-decoration:none;
}

.center{text-align:center}

.card{
  margin:1rem 0;
  padding:1.5rem;
  border-radius:14px;
  background:rgba(255,255,255,.25);
}

blockquote{
  margin:1.2rem 0;
  padding-left:1rem;
  border-left:4px solid var(--lavender);
  font-style:italic;
}

form{
  display:grid;
  gap:1rem;
}

label{
  display:grid;
  gap:.4rem;
  font-weight:bold;
}

input,
textarea{
  width:100%;
  padding:.9rem;
  border:2px solid var(--purple);
  border-radius:10px;
  background:#eef1ff;
  font:inherit;
}

textarea{
  min-height:260px;
  resize:vertical;
}

button{
  justify-self:start;
  padding:.8rem 1rem;
  border:0;
  border-radius:8px;
  background:var(--purple);
  color:#fff;
  font-weight:bold;
  cursor:pointer;
}

/* Homepage */
.home{
  overflow:hidden;
  background:#000;
  color:#fff;
}

.bg-video{
  position:fixed;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  object-fit:cover;
}

.overlay{
  position:fixed;
  inset:0;
  z-index:-1;
  background:rgba(0,0,0,.28);
}

/*
  Five-row viewport layout:
  1 logo
  2 Schools / Parents
  3 welcome text
  4 audio button
  5 About / Feedback / Contact

  This prevents all elements bunching into the upper half.
*/
.home-content{
  min-height:100svh;
  width:100%;
  display:grid;
  grid-template-rows:
    minmax(90px,18vh)
    minmax(42px,8vh)
    minmax(120px,30vh)
    minmax(48px,12vh)
    minmax(52px,16vh);
  align-content:center;
  justify-items:center;
  padding:1vh 1.2rem 3vh;
  text-align:center;
}

.logo{
  align-self:end;
  width:min(540px,74vw);
  height:auto;
  transform:translateY(-1.5vh);
}

.home-nav{
  align-self:start;
  display:flex;
  justify-content:center;
  gap:4.2rem;
  margin:0;
  transform:translateY(-1vh);
}

.home-nav a{
  color:#fff;
  font-family:"Badger","Alegreya",serif;
  font-size:clamp(1.3rem,2.5vw,2rem);
  text-decoration:none;
  text-shadow:0 2px 5px #000;
}

.home-lower{
  display:contents;
}

.home-content h1{
  align-self:center;
  width:min(950px,92vw);
  margin:0;
  color:#fff;
  font-family:"Alegreya",Georgia,"Times New Roman",serif;
  font-size:clamp(1.05rem,2.15vw,1.95rem);
  font-weight:700;
  line-height:1.12;
  letter-spacing:0;
  word-spacing:normal;
  text-align:center;
  text-wrap:balance;
  text-shadow:0 3px 8px #000;
}

#audio-button{
  align-self:center;
  justify-self:center;
  margin:0;
  padding:.8rem 1rem;
  background:rgba(0,0,0,.72);
  border:1px solid rgba(255,255,255,.25);
}

.home-footer-nav{
  align-self:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:2rem;
  margin:0;
}

.home-footer-nav a{
  color:#fff;
  font-family:"Badger","Alegreya",serif;
  font-size:clamp(1rem,1.9vw,1.45rem);
  text-decoration:none;
  text-shadow:0 2px 5px #000;
}

@media(max-width:700px){
  .site-top{
    min-height:190px;
  }

  .home-content{
    grid-template-rows:
      minmax(75px,17vh)
      minmax(38px,8vh)
      minmax(115px,29vh)
      minmax(46px,12vh)
      minmax(58px,18vh);
    padding:.5vh .8rem 2vh;
  }

  .logo{
    width:min(500px,82vw);
    transform:translateY(-.5vh);
  }

  .home-nav{
    gap:2.5rem;
    transform:none;
  }

  .home-content h1{
    width:min(94vw,620px);
    font-size:clamp(1rem,4.7vw,1.5rem);
    line-height:1.1;
  }

  .home-footer-nav{
    gap:1.5rem;
  }

  .home-footer-nav a{
    font-size:clamp(.95rem,4vw,1.25rem);
  }
}

@media(max-height:620px){
  .home-content{
    grid-template-rows:
      minmax(65px,16vh)
      minmax(34px,7vh)
      minmax(90px,27vh)
      minmax(42px,11vh)
      minmax(44px,15vh);
  }

  .logo{
    width:min(440px,66vw);
  }

  .home-content h1{
    font-size:clamp(.95rem,2vw,1.6rem);
  }
}
