body {
  color:#4C4C4D;
  font-family: "astoria", sans-serif;
  font-weight: 400;
  font-style: normal;

}
#header-wrapper {
  display: flex;
  justify-content: center;
}
#header {
  display: flex;
  justify-content: space-between;
  padding-top:50px;
  padding-right:25px;
  padding-left:25px;
  font-size: 18px;
  align-items: flex-end;
  width:1200px;
}
#header a {
  color:#4C4C4D;
}
#header p {
  padding:0px;
  margin:0px;
  margin-bottom:-3px;
}


#main-logo {
  width:200px;
}

#banner {
  padding-top:25px;
}

.video-background {
  position: relative;
  height: 500px; 
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;     /* vertical center */
  justify-content: center;
}

.video-background video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -1;
  transform: translate(-50%, -50%);
  object-fit: cover; /* keeps aspect ratio while filling */
}

.content {
  position: relative;
  z-index: 1; /* above the video */
  color: white;
  padding-left: 50px;
  width:1200px;
}

.content h1{
  font-size: 150px;
  padding: 0;
  margin:0;
  margin-bottom:-25px;
}

.content p{
  width:425px;
  padding: 3px;
  margin:0;
  font-size:50px;
  background-color: rgba(220, 73, 164, .72)
}

.main-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 50px;
}


img.accent{
  width: 50px;
}

.main-section h3{
  text-transform: uppercase;
  font-weight: 400;
  font-size: 24px;
  color:#707071;
  padding: 0;
  padding-top:20px;
  padding-bottom:5px;
  margin:0;
  text-align: center;
}

.main-section h2{
  font-weight: 400;
  font-size:50px;
  padding:0;
  margin:0;
  color: #4C4C4D;
  text-align: center;
  line-height: 1em;
}

.main-section p {
  max-width:780px;
  text-align: center;
  font-size:20px;
  line-height: 1.25em;
  color: #4C4C4D;
}

span.highlight{
  background-color:#fceb9a;
}

.weekly-maintenance {
  background-color: #EFEFEF;
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.maintenance-list h2 {
  text-align: left;

}
.maintenance-list {
  list-style: none; 
  padding-left: 0;
  margin-right:50px;
  padding-top: 25px;
  padding-bottom:25px;
  border: solid 4px #fff;
  border-right: none;
  border-left:none;
  max-width:400px ;

}

.maintenance-list li{
  font-weight: 400;
  text-transform: uppercase;
  font-size: 20px;
  background: url('Images/checkmark.svg') no-repeat left bottom;
  background-size: 1.5em;
  padding-left: 1.75em; 
  padding-top:1.3em;
  color:#707071;
}

/* Default: desktop shown, mobile hidden */
.video-desktop {
  display: block;
  width: 100%;
  max-width: 300px;
  height: auto;
}
.video-mobile {
  display: none;
}

.booking-wrapper {
  width:100%;
  max-width: 500px;
  padding-top:25px;
}

.gradient-button {
  color: #fff;
  display: inline-block;
  padding: 0.8em 2em;
  font-size: 1.5rem;
  font-weight: 600;
  text-decoration: none;
  color: white;
  background: linear-gradient(135deg, #ec008c, #EE7131);
  border-radius: 12px;
  border: 5px solid white;
  transition: all 0.3s ease;
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
  text-align: center;
}

.gradient-button:hover {
  background: linear-gradient(135deg, #EE7131, #ec008c);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}

#packages {
  background-color: #0091A9;
}

#packages h2 {
  color:#FFF
}

.cards-wrapper{
  display: flex;
  gap:25px;
  padding:25px;
  margin-bottom:-120px;
}

.card {
  background-color: #FFF;
  border-radius: 25px;
  width:225px;
  height:650px;
  border:solid 6px #FFF;
  margin-top:20px;
}

.card.gold {
  width:275px;
  margin-top:0px
}

.card-head {
  border-radius: 25px 25px 0px 0px;
  padding:25px;
}

.card-head span {
  font-size: .5em;
  vertical-align: super;
}

.card-head h2 {
  font-size:60px;
  padding:0px;
  margin:0px;
  margin-top:-10px;
}

.card-head h3 {
  padding:0px;
  margin:0px;
}

.card-head p {
  padding:0px;
  margin:0px;
}

div.card.basic .card-head {
  background-color: #FFE0F3;
}

div.card.gold .card-head {
  background-color: #EE7131;
}
div.card.platinum .card-head {
  background-color: #E4FBFF;
}

#packages div.card .card-head h2 {
  color: #4C4C4D
}

#packages div.card.gold .card-head h2 {
  color:#FFF;
  font-size:75px;
}

#packages div.card.gold .card-head h3 {
  color:#FFF;
  font-weight: bold;
}
#packages div.card.gold .card-head p {
  color:#FFF;
}

.card-body{
  padding-top:25px;
}

.card-body h4{
  text-align: center;
  margin:0px;
  padding:0px;
  border-top: 1px solid #EFEFEF;
  border-bottom: 1px solid #EFEFEF;
}

.card-body ul {
  list-style: none;    
  padding-left: 0;  
  margin:15px;
}

.card-body ul li {
  position: relative;
  padding-left: 1.25em;
  margin-bottom:.5em;
}

.card-body ul li::before{
  content:"✔";
  position: absolute;
  left: 0;
  font-weight: bold;
}

div.card.basic .card-body ul li::before {
  color: #DB2792;
}

div.card.gold .card-body ul li::before {
  color: #EE7131;
}

div.card.platinum .card-body ul li::before {
  color: #0091A9;
}

#footer{
  padding:25px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  text-align: center;
  font-size: 12px;
  padding-bottom:75px;
}

.footer-logo img {
  width:125px;
}

.footer-contact {
  text-align: right;
  font-size: 15px
}

.footer-contact a {
  color:#4C4C4D;
  text-decoration: none;
}





@media screen and (max-width: 720px) {
  /* Styles applied when the screen width is 768px or less (e.g., for tablets and phones) */
#header {
  flex-direction: column;
  align-items: center;
  gap:1px;
}

  #main-logo {
  width:150px;
  order:1;
  padding-bottom:1em;
}

#header p {
  order:2;
  margin:0;
  padding:0;
}

.video-background {
  position: relative;
  height: 200px; 
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;     /* vertical center */
  justify-content: center;
}

.content {
  padding-left: 25px;
  width:500px;
}

.content h1{
  font-size: 100px;
  padding: 0;
  margin:0;
  margin-bottom:-20px;
}

.content p{
  width:250px;
  padding: 3px;
  margin:0;
  font-size:25px;
  background-color: rgba(220, 73, 164, .72)
}

.main-section {
  padding-left:15px;
  padding-right:15px;

}

.weekly-maintenance {
  flex-direction: column;
  justify-content: center;
}

  .video-desktop {
    display: none;
  }
  .video-mobile {
    display: block;
    width: 100%;
    max-width: 480px;
    height: auto;
    margin: 0 auto; /* center */
  }

.cards-wrapper{
  flex-direction: column;
  margin-bottom: 0px;
  padding:0px;
}
.card {
  width: 100%;
  height: auto;
}

.card.gold {
  width: 100%;
  margin-top:25px;
}

#footer{
  padding:25px;
  flex-direction: column;
  align-items: center;
}


.footer-contact {
  text-align: center;
}

}