* {
  box-sizing: border-box;
}

html, body {
  height: 100%;
  margin: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  /*overflow: hidden;*/
  overflow-x: hidden; 
  overflow-y: auto;
  background: #ffffff;
  position: relative;
}

body.band {
  background: linear-gradient(
    to left,
    rgba(255, 180, 140, 0.85) 0%,
    rgba(255, 180, 140, 0.00) 100%);
    background-repeat: no-repeat; 
    background-size: 100% 80px; /* full width, 80px tall */ 
    background-position: top left;
}

.page {
  height: calc(100vh - 2rem); /* leave room for footer */ 
  background-image: url("../images/right-side.png"); 
  background-size: auto 100%;
  background-position: right top;
  background-repeat: no-repeat; 
  position: relative;
}

header { 
  padding: 0.8rem 1rem; 
  width: 100%; 
  display: flex; 
  align-items: center; 
  gap: 1rem; 
}

h1 { 
  margin: 0; 
  padding: 0 3rem; 
  display: flex; 
  flex-direction: column; /* stack main title and em */ 
}

h1 em {
  font-size: 0.5em;
  font-style: italic;
  font-weight: 300;
}

img { 
  max-width: 100%; 
  height: auto; 
  display: block;
}

.emblem {
  width: 60px;   /* or 48px, 56px, etc. */
  height: auto;
  flex-shrink: 0;
}

p { 
  margin: 0; 
}

/* Contact button styles */
.contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.6rem 1rem;
  height: 2.8rem;
  min-width: 10rem;
  margin-left: 2em;
  background: linear-gradient(90deg, #8a3aa8 0%, #6E2B66 100%);
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
  border-radius: 0.5rem;
  box-shadow: 0 6px 18px rgba(110, 43, 102, 0.18);
  transition: transform 160ms ease, box-shadow 160ms ease, opacity 160ms ease;
  border: none;
  cursor: pointer;
  margin: 0; /* Added this */
}

/* Hover and focus states */
.contact-btn:hover,
.contact-btn:focus {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(110, 43, 102, 0.22);
  outline: none;
  opacity: 0.98;
}

.contact-h2 {
  margin-top: 0;
  margin-bottom:10px;
  font-size: 20px;
  text-align: center;
  color: #70338A;
}

/* Active state */
.contact-btn:active {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(110, 43, 102, 0.18);
}

.striker { 
  position: absolute; 
  left: 1.5rem; /* horizontal position */ 
  top: 14rem; /* vertical position (adjust to taste) */ 
  width: 550px; /* resize here */ 
  height: auto; 
  object-fit: contain; 
  pointer-events: none; 
}

.hero { 
  margin-top: 8rem; /* move block down */ 
  margin-left: 45%; /* move block to the right side */ 
  max-width: 32rem; /* keep line length readable */ 
}

.hero-title { 
  margin: 0 0 0.75rem 0; 
  font-size: 1.6rem; 
  line-height: 1.5; 
  font-weight: 600; color: #111; 
} 

.hero-sub { 
  margin: 0 0 1.25rem 0; 
  font-size: 1rem; 
  font-weight: 300; 
  color: #444; 
}

footer { 
  height: 2rem; 
  display: flex; 
  justify-content: flex-end; 
  align-items: center; 
  padding: 0 2rem; 
  background: linear-gradient( to left, #6E2B66 0%, rgba(110, 43, 102, 0) 100% ); 
}

footer p {
  display: block;
  text-align: right;
  margin: 0;
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 300;
}

/*Contact page elements*/

        .contact-container {
            width: 450px;
            margin: 40px auto;
            padding: 15px 20px;
            border: 2px solid #70338A;
            border-radius: 4px;
            background: #fff;
        }

        label {
            font-size: 14px;
            margin-top: 8px;
        }

        input, select, textarea {
            width: 100%;
            padding: 6px 8px;
            border: 2px solid #FF9C00;
            border-radius: 4px;
            margin-top: 4px;
            font-size: 14px;
        }

        input:focus, select:focus, textarea:focus {
            border-color: #70338A;
            outline: none;
        }

        textarea {
            height: 70px;
        }
        
       .hp-field {
			position: absolute;
			left: -9999px;
			top: -9999px;
			height: 0;
			overflow: hidden;
		}

        button {
            margin-top: 15px;
            width: 100%;
            padding: 10px;
            background: #70338A;
            color: #fff;
            border: none;
            border-radius: 4px;
            font-size: 15px;
            cursor: pointer;
        }

        button:hover {
            background: #5a2870;
        }

        .success {
            color: green;
            text-align: center;
            margin-bottom: 15px;
        }

        .error {
            color: red;
            text-align: center;
            margin-bottom: 15px;
        }
/*End contact page code*/

/* 1st media query - iPad4 and similar tablets */
@media (min-width: 769px) and (max-width: 1024px) and (orientation: landscape) {
	html body {
	overflow: hidden;
  }
  
  .page {
   background-size: auto 88.3%; /* reduce right-side background height */
   min-height: calc(100vh - 1.9rem);
  }

  .striker {
    width: 350px;     /* scale down */
    top: 19rem;       /* move up slightly - increase value to move it down decrease value to move it up*/
    left: 1rem;       /* keep it visually balanced */
  }

  .hero {
    width: 35%;
    margin-left: 40%; /* bring text left so it stays visible */
    margin-top: 8rem; /* move text down into the visual centre */
  }
  
  .hero-title { 
  font-size: 1.3rem; 
  line-height: 1.4; 
  } 

.hero-sub { 
  font-size: 0.9rem; 
  }

.contact-btn {
  padding: 0.6rem 1rem;
  height: 2.1rem;
  min-width: 6rem;
  font-size: 0.9em;
  }
  
  footer {
  margin-top: -5.1rem;
  }
}

/* iPhone landscape (actual width: 927px) */
@media (max-width: 927px) and (orientation: landscape) {

  .page {
    background-size: 40% 95%;
    background-position: right top;
    background-repeat: no-repeat;
    min-height: 97.5vh;
    position: relative;
  }

  .emblem {
    width: 54px;
  }

  header h1 {
    font-size: 1.6rem;
    padding: 0 1.5rem;
  }

  header h1 em {
    font-size: 0.55em;
  }

  .striker {
    position: absolute;
    width: 285px;
    left: 1rem;
    top: 10.2rem;
  }

  .hero {
    position: absolute;
    width: 40%;
    right: 12rem;
    top: 8rem;
    margin: 0;
    text-align: left;
  }

  .hero-title {
    font-size: 1rem;
    line-height: 1.4;
  }

  .hero-sub {
    font-size: 0.85rem;
  }

  .contact-btn {
    margin-top: 0.75rem;
    width: 30%;
    height: 2.2rem;
    font-size: 0.85rem;
  }

  footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 2rem;
    padding: 0 1.5rem;
  }

  footer p {
    font-size: 0.75rem;
  }

  html, body {
    overflow: hidden;
  }
}

/* iPhone landscape (all models) */
@media (max-width: 767px) and (orientation: landscape) {

  /* Page: keep panel but reduce dominance */
  .page {
    background-size: 40% 95%;
    background-position: right top;
    background-repeat: no-repeat;
    min-height: 100vh;
    position: relative;
  }

  header h1 {
    font-size: 1.3rem;
    padding: 0 1.5rem;
  }

  header h1 em {
    font-size: 0.55em;
  }

  /* Striker: fully on-screen, anchored left */
  .striker {
    position: absolute;
    width: 230px;
    left: 1rem;
    top: 6rem;   /* pulls him well above the bottom */
  }

  /* Hero: right side, higher, more compact */
  .hero {
    position: absolute;
    width: 50%;
    right: 1.5rem;
    top: 4.5rem;   /* above mid‑page */
    margin: 0;
    text-align: left;
  }

  .hero-title {
    font-size: 1rem;
    line-height: 1.4;
  }

  .hero-sub {
    font-size: 0.85rem;
  }

  .contact-btn {
    margin-top: 0.75rem;
    width: 60%;
    height: 2.2rem;
    font-size: 0.85rem;
  }

  /* Footer: locked to bottom, always visible */
  footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 2rem;
    padding: 0 1.5rem;
  }

  footer p {
    font-size: 0.75rem;
  }

  /* No scroll – keep frame tight */
  html, body {
    overflow: hidden;
  }
}

@media (max-width: 916px) and (orientation: landscape) {

  /* Page background */
  .page {
    /*background-size: 80% 95%;*/
    background-position: right top;
    background-repeat: no-repeat;
    min-height: 97vh;
  }

  /* Header */
  .emblem {
    width: 54px;
  }

  header h1 {
    font-size: 1.7rem;
  }

  header h1 em {
    font-size: 0.55em;
  }

  /* Striker left */
  .striker {
    width: 290px;
    position: absolute;
    top: 8.5rem;
    left: 1rem;
  }
  
  .contact-container {
    width: 300px;
    margin-top: 5px;
    padding: 10px 15px;
  }
        
  .contact-h2 {
    margin-top: 0;
    margin-bottom: 0px;
    font-size: 15px;
}
  label {
   font-size: 10px;
   margin-top: 4px;
}

  input, select, textarea {
   width: 100%;
   padding: 2px 4px;
   margin-top: 2px;
   font-size: 10px;
}

  textarea {
    height: 25px;
  }    
      
  button {
    margin-top: 10px ;  
    padding: 8px;  
  }  

  /* Hero right */
  .hero {
    width: 45%;
    position: absolute;
    right: 10rem;
    top: 8rem;
    text-align: left;
  }

  .hero-title {
    font-size: 1rem;
  }

  .hero-sub {
    font-size: 0.9rem;
  }

  .contact-btn {
    margin-top: 0rem;
    width: 30%;
  }

  /* Footer flush */
  footer {
    position: absolute;
    bottom: 0;
    width: 100%;
  }

  footer p {
    font-size: 0.75em;
  }

  html, body {
    overflow: hidden;
  }
}

/*3rd media query - iPad4 Portrait */
@media (max-width: 768px) and (orientation: portrait) {

  /* Fix right-side dominance */
  .page {
    background-position: right top;
    background-size: 45% 91.6%;
  }

  /* Striker: larger + higher */
  .striker {
    width: 370px !important;   /* bigger than landscape portrait */
    top: 30rem;      /* move higher into the composition */
    left: 1rem;
  }
  
    .contact-container {
            width: 400px;
            margin-top: 10rem;
        }

  /* Hero block: larger + pulled upward + closer to striker */
  .hero {
    width: 50%;         /* wider text block */
    margin-left: 26%;   /* moves text closer to striker */
    margin-top: 6rem; /* pulls text upward */
  }

  .hero-title {
    font-size: 1.45rem; /* readable in portrait */
    line-height: 1.4;
  }

  .hero-sub {
    font-size: 1.05rem;
  }

  /* Header refinement */
  header h1 {
    font-size: 1.45rem;
  }

  header h1 em {
    font-size: 0.55em;
  }

  /* Footer flush fix */
  footer {
    margin-top: -5rem; /* Safari phantom-space correction */
  }

  /* Prevent document scroll */
  html body {
    overflow: hidden;
  }
}

@media (max-width: 480px) and (orientation: portrait) {

  .page {
    background-size: 35% 96.5%;     /* narrow vertical panel */
    background-position: right top;
    background-repeat: no-repeat;
    min-height: 100vh;
  }

.emblem {
  width: 52px;   /* or 48px, 56px, etc. */
}

h1 { 
  margin: 0; 
  padding: 0 0; 
  display: flex; 
  flex-direction: column; /* stack main title and em */ 
}

  /* Header refinement */
  header h1 {
    font-size: 1.25rem;
  }

  header h1 em {
    font-size: 0.55em;
  }

  .striker {
    position: relative;
    width: 300px !important;
    margin: 5rem auto 0 auto;      /* centered */
    top: 0;
    left: 0;
  }
  
    .contact-container {
            width: 350px;
            margin-top: 8rem;
            /*padding: 15px 20px;
            border: 2px solid #70338A;
            border-radius: 4px;
            background: #fff;*/
        }

  .hero {
    width: 75%;
    margin: 4rem auto 0 auto;    /* centered */
    text-align: center;
  }

  .hero-title {
    font-size: 1.2rem;
  }

  .hero-sub {
    font-size: 1rem;
  }

  .contact-btn {
    margin: 1.5rem auto 0 auto;
    display: block;
    width: 40%;
  }

  footer {
    position: absolute;
    bottom: 0;
    width: 100%;
  }
  
  footer p{
    font-size: 0.8em;
  }

  html, body {
    overflow: hidden;
  }
}

