  @font-face{
  font-family:'GT America Expanded';src:url(fonts/GT-America-Expanded-Black.woff2) format("woff2"),url(fonts/GT-America-Expanded-Black.woff) format("woff");font-weight:900;font-style:normal;font-display:fallback}



body {
              margin:0;
  background-color: #fff;
  color: #777;
font-family: 'Archivo', sans-serif;
}
html, body{
  overflow-x: hidden;
}
#logo{
  max-width: 117px;
float:left;
margin-top: 0px;

}
p{
  font-weight: normal;
}
.panel p{
text-transform: none;
font-weight: normal;
font-family: 'Archivo', sans-serif;
line-height: 2.4;
  margin: 0;
}
.panel{
padding: 40px!important;
  background:#fff!important;
}
.panel h2{
    text-transform: uppercase;
}
span4 {
    font-family: "Archivo", sans-serif;
    text-transform: none;
}
.ocontainer {
width:32%;

    display: inline-block;
position: relative;
text-align: center;
color: white;
padding: 5px;
}
.centered {
position: absolute;
top: 50%;
left: 50%;
font-size: 24px;
  font-weight: 600;
transform: translate(-50%, -50%);
}
/* mobile overlay tutorial learned from wschools*/

.overlay {
height: 100%;
width: 0;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: rgb(0,0,0);
background-color: rgba(0,0,0, 0.9);
overflow-x: hidden;
transition: 0.5s;
}

.overlay-content {
position: relative;
top: 25%;
width: 100%;
text-align: center;
margin-top: 30px;
}

.overlay a {
padding: 8px;
text-decoration: none;
font-size: 24px;
color: #fff;
display: block;
transition: 0.3s;
}

.overlay a:hover, .overlay a:focus {
color: #f1f1f1;
}

.overlay .closebtn {
position: absolute;
top: 20px;
right: 45px;
font-size: 60px;
}

@media screen and (max-height: 450px) {
.overlay a {font-size: 20px}
.overlay .closebtn {
font-size: 40px;
top: 15px;
right: 35px;
}
}

.toggle{
display:none;
float:right;
margin-top:45px;
color:#000;
}

.box{
padding: 30px;
background: #fff;
margin-top: 50px;
-webkit-box-shadow: 0 2px 27px 3px rgb(0 0 0 / 6%);
-moz-box-shadow: 0 2px 27px 3px rgba(0,0,0,.06);
box-shadow: 0 2px 27px 3px rgb(0 0 0 / 6%);
}

#features{
padding-top:100px;
padding-bottom:100px;
overflow:auto;
background:#fff;

}
#features2{
padding-top:100px;
padding-bottom:100px;
overflow:auto;
background:#fafafa;

}
#contactme{
padding-top:100px;
padding-bottom:100px;
overflow:auto;
background:#fafafa;

}

#features4{
padding-top:100px;
padding-bottom:100px;
overflow:auto;
background:#fafafa;

}
#features6{
padding-top:100px;
padding-bottom:100px;
overflow:auto;
background:#fafafa;

}

#features3{
padding-top:100px;
padding-bottom:100px;
overflow:auto;
background:#fff;

}
#features7{
padding-top:100px;
padding-bottom:100px;
overflow:auto;
background:#fff;

}
#features5{
padding-top:100px;
padding-bottom:100px;
overflow:auto;
background:#fff;

}


#members{
background:#fff;
padding-top:100px;
padding-bottom:100px;
overflow:auto;

}
#learnmore{
  background: #ffe500;
    padding-top:100px;
    color:#000;
padding-bottom:100px;
overflow:auto;

}
.thumbnailimages img:hover{
  opacity:.8;
}
p {
  line-height: 30px;
  margin-bottom: 40px;
  font-size:20px;
margin-top: 30px
}



h1 {
  font-weight: bold;
  color: #444;
  font-size: 45px;
  margin-bottom: 20px;
}


h2 {
  font-weight: 300;
  color: #000;
  font-size: 36px;
  text-align: left;
  margin-bottom: 20px;
  line-height:60px;
}


h3 {
  font-size: 25px;
  color: #000;
  text-align: center;
  margin-bottom: 20px;
}


h4 {
  font-size: 36px;
  color: #000;
  text-align: center;
margin-top: 30%;
  margin-bottom: 20px;
}



a {
  text-decoration: none;
  color: #444;
}
a:hover {
  color: #000;
}

strong {
  font-weight: bold;
}

@media screen and (max-width: 1250px) {

nav{
  display: none;
}

.toggle{
  display:block;
}
}

@media screen and (max-width: 575px) {

h2{
  font-size:30px;
}
  }






.wrapper {
  margin: 0 auto;
  padding: 0 10px;
  width: 90%;
}


@media screen and (max-width: 700px) {


.wrapper{

    width: 90%;
}

}
header {
min-height: 120px;
background: #fff;
}
header h1 {
  float: left;
  margin-top: 32px;
}
header h1 .color {
  color: #02b8dd;
}
header nav {
  float: right;
}
header nav ul li {
  float: left;
  margin-top: 40px;
  display: inline-block;
}
header nav ul li a {
  color: #000;
  display: block;
  font-size: 16px;
  font-weight:bold;
  margin-right: 40px;
}
header nav ul li a:hover {
  color: #84d6ff;


}
#background-video {
height: 100%;
width: 100%;
object-fit: cover;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: -1;
}
#hero-image {
  height: 580px;
background: linear-gradient(180deg, rgba(255,255,255,0.2) 0%, rgba(255,255,255,1) 100%) !important;
  padding-top: 1px;

}
#hero-image h2 {
  margin: 180px 0 40px 0;
}
#about-image {
  height: 20%;
  padding-top: 1px;
  background: url(../images/aboutbanner.jpg) no-repeat center center fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
#features .btn.ghost {
   display: none;
}


#about-image h2 {
  margin: 180px 0 40px 0;
  color:#444;
}


input[type=text], select, textarea {
width: 100%;
padding: 12px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
margin-top: 6px;
margin-bottom: 16px;
resize: vertical;
}

input[type=submit] {
background-color: rgb(205, 32, 45);
color: white;
padding: 12px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
}

input[type=submit]:hover {
background-color: #222;
}



.button-1 {
  text-align: center;
  box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08);
     background-image: linear-gradient(to right, #b297f9 0%, #84d6ff 50%, #b297f9 100%);
     background-size: 200% auto;
     transition: 0.5s;
     font-family: 'Archivo', sans-serif;
     border-radius:5px;

  margin: 0 auto;
font-weight:bold;
  border: none;
color: #fff;
padding: 15px 32px;
text-decoration: none;
display: inline-block;
font-size: 16px;
}

.button-1:hover{
background-position: right center;
color:#fff;
}

.button-2 {
  border-radius:5px;
    font-size: 16px;
    padding: 15px 32px;
    font-weight:bold;
    color: #444;
    font-family: 'Archivo', sans-serif;

    background: transparent;
    box-shadow: 0 0 6px 0 rgba(157, 96, 212, 0.5);
    border: solid 3px transparent;
    background-image: linear-gradient(rgba(255, 255, 255, 0.0), rgba(255, 255, 255, 0.0)), linear-gradient(101deg, #84d6ff, #b297f9);
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px #fff inset;
}

.button-2:hover{
  box-shadow: none;
   color: white;
}

.button-3 {
  border-radius:5px;
    font-size: 16px;
    padding: 15px 32px;
    font-weight:bold;
    color: #444;
    font-family: 'Archivo', sans-serif;

    background: transparent;
    box-shadow: 0 0 6px 0 rgba(157, 96, 212, 0.5);
    border: solid 3px transparent;
    background-image: linear-gradient(rgba(255, 255, 255, 0.0), rgba(255, 255, 255, 0.0)), linear-gradient(101deg, #84d6ff, #b297f9);
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 2px 1000px 1px #fafafa inset;
}

.button-3:hover{
  box-shadow: none;
   color: white;
}




.thumbnailimages{
display:inline-block;

}

.thumbnailimages img {
width: 32%;
border-radius:5px;
box-shadow:0 3px 6px rgb(0 0 0 / 16%), 0 3px 6px rgb(0 0 0 / 23%);


}

.thumbnailimages img:hover {

}

@media screen and (max-width: 1000px) {

.ocontainer {
  width:100%;
}

}


#left{
width:50%;float:left;
}
#right{
width:40%;float:right;
margin-right: 90px;
}

#left2{
width:40%;float:left;
margin-left: 90px;
}
#right2{
width:50%;float:right;
}



.profilepic{
max-width:150px;
}
@media only screen and (max-width: 1145px) {

h4{
  margin-top: 0%;
}
#left {
  width: 100%;
}
#right{
  width: 100%;
  margin-right: 0px;

}
#left2 {
  width: 100%;
  margin-left: 0px;

}
#right2{
  width: 100%;
}
.button-1{
  margin-bottom:40px;
}
#features {
  padding-top: 100px;
  padding-bottom: 100px;
}
#features2 {
  padding-top: 100px;
  padding-bottom: 100px;
}
#features3 {
  padding-top: 100px;
  padding-bottom: 100px;
}
}

html {
  scroll-behavior: smooth;
}

/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  padding-top: 100px; /* Location of the box */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.9); /* Black w/ opacity */
}

/* Modal Content (image) */
.modal-content {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 1000px;
}

/* Caption of Modal Image */
#caption {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 800px;
  text-align: center;
  color: #ccc;
  padding: 10px 0;
  height: 150px;
}

/* Add Animation */
.modal-content, #caption {
  -webkit-animation-name: zoom;
  -webkit-animation-duration: 0.6s;
  animation-name: zoom;
  animation-duration: 0.6s;
}

@-webkit-keyframes zoom {
  from {-webkit-transform:scale(0)}
  to {-webkit-transform:scale(1)}
}

@keyframes zoom {
  from {transform:scale(0)}
  to {transform:scale(1)}
}

/* The Close Button */
.close {
  position: fixed;
  top: 15px;
  right: 35px;
  color: #f1f1f1;
  font-size: 40px;
  font-weight: bold;
  transition: 0.3s;
}

.close:hover,
.close:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}

/* 100% Image Width on Smaller Screens */
@media only screen and (max-width: 700px){
  .modal-content {
    width: 100%;
  }
}



footer {
  padding: 60px 0;
  background-color: #fff;
}

#footer-content {
  width: 100%;
text-align: center;
 margin-top: 10px;
}



.gallery-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background-color: #fff;
    box-shadow: 0 0 0px 0 rgba(0, 0, 0, 0);
    width: 90%;
    margin: 0 auto;
    padding: 10px;
}
.gallery-item {
    flex-basis: 32.7%;
    margin-bottom: 15px;
    opacity: .85;
    cursor: pointer;
}
.gallery-item:hover {
    opacity: 1;
}
.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  
    border-radius: 5px;
}
.gallery-content {
    font-size: .8em;
}

.lightbox {
    position: fixed;
    display: none;
    background-color: rgba(0, 0, 0, 0.8);
    width: 100%;
    height: 100%;
    overflow: auto;
    top: 0;
    left: 0;
}
.lightbox-content {
    position: relative;
    width: 70%;
    height: 70%;
    margin: 5% auto;
}
.lightbox-content img {
    border-radius: 7px;
    box-shadow: 0 0 3px 0 rgba(225, 225, 225, .25);
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.lightbox-prev,
.lightbox-next {
    position: absolute;
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 7px;
    top: 45%;
    cursor: pointer;
}
.lightbox-prev {
    left: 0;
}
.lightbox-next {
    right: 0;
}
.lightbox-prev:hover,
.lightbox-next:hover {
    opacity: .8;
}

@media (max-width: 767px) {
    .gallery-container {
        width: 100%;
    }
    .gallery-item {
        flex-basis: 49.80%;
        margin-bottom: 3px;
    }
    .lightbox-content {
        width: 80%;
        height: 60%;
        margin: 15% auto;
    }
}
@media (max-width: 480px) {
    .gallery-item {
        flex-basis: 100%;
        margin-bottom: 1px;
    }
    .lightbox-content {
        width: 90%;
        margin: 20% auto;
    }
}
.example button {
  float: left;
  background-color: #4E3E55;
  color: white;
  border: none;
  box-shadow: none;
  font-size: 17px;
  font-weight: 500;
  font-weight: 600;
  border-radius: 3px;
  padding: 15px 35px;
  margin: 26px 5px 0 5px;
  cursor: pointer;
}
.example button:focus{
  outline: none;
}
.example button:hover{
  background-color: #33DE23;
}
.example button:active{
  background-color: #81ccee;
}

 .contact-popup {
      position: absolute;
      bottom: 75px;
      right: 0;
      width: 260px;
      background: #fff;
      border-radius: 10px;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
      padding: 15px;
      text-align: left;
      opacity: 0;
      transform: translateY(10px);
      pointer-events: none;
      transition: all 0.25s ease;
    }
    .contact-popup.active {
      opacity: 1;
      transform: translateY(0);
      pointer-events: all;
    }
    .float .contact-popup h4 {
      margin: 0 0 10px;
      color: #000;
      font-size: 16px!important;
      text-align: left;
    }
    .float .contact-popup p {
      margin: 5px 0;
      font-size: 16px;
      color: #444;
    }
    .float .contact-popup i {
      font-size: 16px;
      line-height: 0;
color: #3378f7;
    }
    .float .contact-popup .btn {
      display: inline-block;
      background: #2f80ed;
      color: #fff;
      padding: 6px 10px;
      border-radius: 6px;
      text-decoration: none;
      font-size: 13px;
      margin-top: 8px;
    }
    .float .contact-popup .btn:hover {
      background: #1b6de0;
    }


    /* Begin float */
.float {
  position: fixed;
    bottom: calc(24px + env(safe-area-inset-bottom));
  right:  calc(24px + env(safe-area-inset-right));
  text-align: center;
  z-index: 1000;
}

/* Trigger button */
.float .trigger {
  border-radius: 50%;
  position: relative;
  background: #3378f7;                /* UPDATED color */
  color: #fff;
  height: 60px;
  width: 60px;
  vertical-align: middle;
  animation: 1.5s linear 0s infinite normal pulse; /* UPDATED pulse colors below */
  transition: ease-in-out 0.2s;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(51, 120, 247, 0.35); /* subtle blue glow */
}

.float .trigger:hover {
  transform: scale(1.1);
}

/* Change icon to "X" when open */
.float.open .trigger .fa::before {
  content: "\f00d";
}

/* Smooth icon pseudo-element transitions */
.float .trigger .fa::after {
  transition: ease-in-out 1s;
}

/* Rotate icon on open (support both .float and legacy .fab) */
.float.open .trigger i,
.fab.open .trigger i {
  transition: all 0.4s ease;
  transform: translateY(5px) rotate(360deg);
}

/* Icon sizing */
.float i {
  font-size: 28px;
  line-height: 58px;
}

/* Actions container fade */
.float .actions {
  opacity: 0;
  transition: opacity 0.4s ease;
}
.float.open .actions {
  opacity: 1;
}

/* Info pill positions */
.float .p-info {
  position: absolute;
  opacity: 0;
  transition: all 0.4s ease;
  transform: translateY(-156px);
  right: 60px;
  width: 100%;
  height: auto;
}
.float.open .p-info {
  opacity: 1;
  position: absolute;
  transform: translateY(-186px);
  right: 60px;
  width: 40px;
  height: 40px;
}

/* Phone mini-fab */
.float .p-phone a {
  position: absolute;
  top: 0;
  background: #fff;
  color: #333;
  height: 60px;
  width: 60px;
  line-height: 40px;
  transform: translateY(50px);
  transition: all 0.4s ease;
  box-shadow: 0 2px 5px rgba(0,0,0,0.25);
  border-radius: 50%;
  right: -50px;
  opacity: 0;                     /* FIXED missing semicolon */
  transition-delay: 0.2s;
}
.float.open .p-phone a {
  right: 10px;
  opacity: 1;
}
.float.open .p-phone a:hover {
  background: #25d366;
  color: #fff;
}

/* WhatsApp mini-fab */
.float .p-whatsapp a {
  position: absolute;
  top: 0;
  opacity: 0;
  background: #fff;
  color: #333;
  height: 60px;
  width: 60px;
  line-height: 40px;
  transform: translateY(50px);
  transition: all 0.4s ease;
  box-shadow: 0 2px 5px rgba(0,0,0,0.25);
  border-radius: 50%;
  right: -50px;
  transition-delay: 0.3s;
  transform-origin: right center 0;
}
.float.open .p-whatsapp a {
  opacity: 1;
  right: 80px;
}
.float.open .p-whatsapp a:hover {
  background: #25d366;
  color: #fff;
}

/* Image bubble (if used) */
.float .p-image {
  top: 100px;
  position: absolute;
  right: -65px;
  transition: all 0.4s ease;
  border-radius: 50%;
}
.float .p-image img {
  top: 0;
  position: absolute;
  right: 3px;
  transition: all 0.4s ease;
  border-radius: 50%;
  transform: translateY(20px);
}
.float.open .p-image img {
  transform: translateY(-50px);
}

/* Tooltip pill */
.float .p-tooltip {
  position: absolute;
  right: 0;
  transition-delay: 0.3s;
  transform-origin: right center 0;
  transition: all 0.8s ease;
  transform: translateY(50%) scale(0);
  top: 0;
  right: -50px;
  width: 25vw;
  line-height: 5px;
  border-radius: 25px;
}
.float.open .p-tooltip {
  right: 155px;
  font-size: 16px;
  line-height: 5px;
  opacity: 1;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.25);
  width: 25vw;
  height: 55px;
  border-radius: 25px;
  transform: translateY(52px);
  transition-delay: 0.3s;
}
.float .p-tooltip p {
  font-size: 16px;
  font-weight: bold;
}
.float.open .p-tooltip p {
  font-size: 16px;
  font-weight: bold;
}

/* Staggered vertical positions for stacked .p-info items */
.float .actions .p-info:nth-child(1){ transform: translateY(-190px); }
.float .actions .p-info:nth-child(2){ transform: translateY(-260px); }
.float .actions .p-info:nth-child(3){ transform: translateY(-330px); }
.float .actions .p-info:nth-child(4){ transform: translateY(-400px); }
.float .actions .p-info:nth-child(5){ transform: translateY(-470px); }
.float .actions .p-info:nth-child(6){ transform: translateY(-540px); }

/* Accessibility: focus ring */
.float .trigger:focus-visible {
  outline: 3px solid rgba(51,120,247,.45);
  outline-offset: 2px;
}

/* Animations — updated to blue */
@keyframes pulse {
  0%   { box-shadow: 0 1px 0 3px rgba(51,120,247,.18), 0 0 0 0 rgba(51,120,247,.32); }
  30%  { box-shadow: 0 1px 0 3px rgba(51,120,247,.18), 0 0 0 5px rgba(51,120,247,.32); }
  70%  { box-shadow: 0 1px 0 3px rgba(51,120,247,.18), 0 0 0 15px rgba(51,120,247,.12); }
  100% { box-shadow: 1px 1px 2px 1px rgba(51,120,247,.18), 0 0 0 20px transparent; }
}







  @font-face{
  font-family:'GT America Expanded';src:url(./fonts/GT-America-Expanded-Black.woff2) format("woff2"),url(./fonts/GT-America-Expanded-Black.woff) format("woff");font-weight:900;font-style:normal;font-display:fallback}
.ed-heading {
    font-family: "GT America Expanded", "GT America", Helvetica Neue, Arial, sans-serif;
    text-transform: uppercase;
font-size: clamp(24px, 6vw, 48px);
    word-break: break-word;
    overflow-wrap: break-word;
    line-height: 1.5;
  }
.ed-tileheading {
    font-family: "GT America Expanded", "GT America", Helvetica Neue, Arial, sans-serif;
    text-transform: uppercase;
}

div.card {
margin:15px 0;
  width: 266px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  text-align: center;
}

div.cardheader {
    background-color: #4CAF50;
    color: white;
    padding: 10px;
}

div.cardcontainer {
    padding: 10px;
}
.bordershadow {
height:70px;
width:80%;
line-height:70px;
text-align:center;
border:2px solid #dd;
border-radius: 3px;
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
transition: all 200ms ease-out;
}
.bordershadow:hover {
box-shadow: 0 0 6px rgba(35, 173, 278, 1);
}


/* Begin float */
.float {
  position: fixed;
    bottom: calc(24px + env(safe-area-inset-bottom));
  right:  calc(24px + env(safe-area-inset-right));
  text-align: center;
  z-index: 1000;
}

/* Trigger button */
.float .trigger {
  border-radius: 50%;
  position: relative;
  background: #3378f7;                /* UPDATED color */
  color: #fff;
  height: 60px;
  width: 60px;
  vertical-align: middle;
  animation: 1.5s linear 0s infinite normal pulse; /* UPDATED pulse colors below */
  transition: ease-in-out 0.2s;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(51, 120, 247, 0.35); /* subtle blue glow */
}

.float .trigger:hover {
  transform: scale(1.1);
}

/* Change icon to "X" when open */
.float.open .trigger .fa::before {
  content: "\f00d";
}

/* Smooth icon pseudo-element transitions */
.float .trigger .fa::after {
  transition: ease-in-out 1s;
}

/* Rotate icon on open (support both .float and legacy .fab) */
.float.open .trigger i,
.fab.open .trigger i {
  transition: all 0.4s ease;
  transform: translateY(5px) rotate(360deg);
}

/* Icon sizing */
.float i {
  font-size: 28px;
  line-height: 58px;
}

/* Actions container fade */
.float .actions {
  opacity: 0;
  transition: opacity 0.4s ease;
}
.float.open .actions {
  opacity: 1;
}

/* Info pill positions */
.float .p-info {
  position: absolute;
  opacity: 0;
  transition: all 0.4s ease;
  transform: translateY(-156px);
  right: 60px;
  width: 100%;
  height: auto;
}
.float.open .p-info {
  opacity: 1;
  position: absolute;
  transform: translateY(-186px);
  right: 60px;
  width: 40px;
  height: 40px;
}

/* Phone mini-fab */
.float .p-phone a {
  position: absolute;
  top: 0;
  background: #fff;
  color: #333;
  height: 60px;
  width: 60px;
  line-height: 40px;
  transform: translateY(50px);
  transition: all 0.4s ease;
  box-shadow: 0 2px 5px rgba(0,0,0,0.25);
  border-radius: 50%;
  right: -50px;
  opacity: 0;                     /* FIXED missing semicolon */
  transition-delay: 0.2s;
}
.float.open .p-phone a {
  right: 10px;
  opacity: 1;
}
.float.open .p-phone a:hover {
  background: #25d366;
  color: #fff;
}

/* WhatsApp mini-fab */
.float .p-whatsapp a {
  position: absolute;
  top: 0;
  opacity: 0;
  background: #fff;
  color: #333;
  height: 60px;
  width: 60px;
  line-height: 40px;
  transform: translateY(50px);
  transition: all 0.4s ease;
  box-shadow: 0 2px 5px rgba(0,0,0,0.25);
  border-radius: 50%;
  right: -50px;
  transition-delay: 0.3s;
  transform-origin: right center 0;
}
.float.open .p-whatsapp a {
  opacity: 1;
  right: 80px;
}
.float.open .p-whatsapp a:hover {
  background: #25d366;
  color: #fff;
}

/* Image bubble (if used) */
.float .p-image {
  top: 100px;
  position: absolute;
  right: -65px;
  transition: all 0.4s ease;
  border-radius: 50%;
}
.float .p-image img {
  top: 0;
  position: absolute;
  right: 3px;
  transition: all 0.4s ease;
  border-radius: 50%;
  transform: translateY(20px);
}
.float.open .p-image img {
  transform: translateY(-50px);
}

/* Tooltip pill */
.float .p-tooltip {
  position: absolute;
  right: 0;
  transition-delay: 0.3s;
  transform-origin: right center 0;
  transition: all 0.8s ease;
  transform: translateY(50%) scale(0);
  top: 0;
  right: -50px;
  width: 25vw;
  line-height: 5px;
  border-radius: 25px;
}
.float.open .p-tooltip {
  right: 155px;
  font-size: 16px;
  line-height: 5px;
  opacity: 1;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.25);
  width: 25vw;
  height: 55px;
  border-radius: 25px;
  transform: translateY(52px);
  transition-delay: 0.3s;
}
.float .p-tooltip p {
  font-size: 16px;
  font-weight: bold;
}
.float.open .p-tooltip p {
  font-size: 16px;
  font-weight: bold;
}

/* Staggered vertical positions for stacked .p-info items */
.float .actions .p-info:nth-child(1){ transform: translateY(-190px); }
.float .actions .p-info:nth-child(2){ transform: translateY(-260px); }
.float .actions .p-info:nth-child(3){ transform: translateY(-330px); }
.float .actions .p-info:nth-child(4){ transform: translateY(-400px); }
.float .actions .p-info:nth-child(5){ transform: translateY(-470px); }
.float .actions .p-info:nth-child(6){ transform: translateY(-540px); }

/* Accessibility: focus ring */
.float .trigger:focus-visible {
  outline: 3px solid rgba(51,120,247,.45);
  outline-offset: 2px;
}

/* Animations — updated to blue */
@keyframes pulse {
  0%   { box-shadow: 0 1px 0 3px rgba(51,120,247,.18), 0 0 0 0 rgba(51,120,247,.32); }
  30%  { box-shadow: 0 1px 0 3px rgba(51,120,247,.18), 0 0 0 5px rgba(51,120,247,.32); }
  70%  { box-shadow: 0 1px 0 3px rgba(51,120,247,.18), 0 0 0 15px rgba(51,120,247,.12); }
  100% { box-shadow: 1px 1px 2px 1px rgba(51,120,247,.18), 0 0 0 20px transparent; }
}


  #features { padding: clamp(12px, 2vw, 22px); }
      #features .page{ max-width: min(100%, 96vw); margin: 0 auto;margin-top:60px; }
      #features .grid{
        display:grid; gap:clamp(12px,1.5vw,18px);
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
      @media (max-width:1068px){ #features .grid{ grid-template-columns:1fr; } }

      #features .tile{
        position:relative; overflow:hidden; border-radius:28px;
        min-height: clamp(520px, 36vw, 760px);
        border:1px solid rgba(0,0,0,.08); background:#fbfbfd;
      }
      #features .tile--short{min-height: clamp(520px, 34vw, 720px);}
      #features .tile--dark{background:#000; color:#f5f5f7;}
      #features .tile__inner{position:relative;height:100%;width:100%;
        display:flex;align-items:center;justify-content:center;}

      #features .bg--blue{background:linear-gradient(#eaf4ff,#e0f0ff);}
      #features .bg--light{background:#fbfbfd;}

        @media (max-width: 600px) {
  #features .tile  {
    min-height: clamp(450px, 80vw, 520px);
  }
}

      #features .content{
        display: none;
        position:absolute; top:clamp(28px,4vw,44px); left:0; right:0;
        text-align:center; padding:0 24px; z-index:2;
        font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial;
      }
     
      #features .eyebrow{font-weight:700;margin-bottom:4px;font-size:18px;}
      #features .title{text-align:center;font-weight:800;margin:.2rem 0 .35rem;font-size:clamp(32px,2.6vw+16px,56px);}
      #features .subtitle{color:#6e6e73;font-size:16px;margin:0 0 14px;}
      #features .ctas{padding-top:0px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
      #features .btn{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 16px;border-radius:999px;background:#0066cc;color:#fff;border:1px solid transparent;text-decoration:none;font-size:16px;}
      #features .btn:hover{filter:brightness(1.05);text-decoration:none}
      #features .btn.ghost{background:transparent;color:#0066cc;border-color:currentColor;}

      #features .visual{position:absolute;inset:0;pointer-events:none;z-index:1;}
      #features .visual img{position:absolute;max-width:none;height:auto;z-index:1;}
      #features .visual .ring{z-index:1;}

      /* Image placements (Apple-like) with scaling */
      #features .ipad img{width:clamp(640px, 44vw, 1100px);bottom:-40px;left:50%;transform:translateX(-50%);}
      #features .macbook img{width:clamp(640px, 44vw, 1100px);bottom:40px;left:54%;transform:translateX(-50%);}
      #features .watch img{width:clamp(820px, 52vw, 1200px);bottom:clamp(-140px, -7vw, -160px);left:50%;transform:translateX(-50%);}
      #features .airpods img{width:clamp(520px, 36vw, 900px);right:8%;bottom:-60px;}
      #features .airpods .ring{position:absolute;right:22%;top:34%;width:220px;height:220px;border-radius:50%;
        background:radial-gradient(closest-side,rgba(40,140,255,.8),rgba(40,140,255,0)70%);filter:blur(2px);}
      #features .tradein img{width:clamp(640px, 44vw, 1000px);bottom:-60px;left:55%;transform:translateX(-50%);}
      #features .card img{width:clamp(640px, 44vw, 1100px);bottom:-40px;left:50%;transform:translateX(-50%);}

#features .footnote {
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 24px;
    color: #fff !important;
color: #000;
    z-index: 2;
    background: rgba(255, 255, 255, 1);    padding: 20px;
    /* TOP: 0; */
    /* background: rgba(255, 255, 255, 0.2); */
    /* border-radius: 16px; */
    /* box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); */
    /* backdrop-filter: blur(5px); */
    -webkit-backdrop-filter: blur(5px);
    /* border: 1px solid rgba(255, 255, 255, 0.3); */
    WIDTH: 85%;
    MARGIN: 0 AUTO;
    /* background: rgba(255, 255, 255, 0.4); */
    border-radius: 16px;
    /* box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); */
    /* border: 1px solid rgba(255, 255, 255, 0.3); */
}

   @media (max-width: 600px) {

#features .footnote {
width:80%;
}

}
      /* OPTIONAL: make it 3 columns on ultra-wide screens
      @media (min-width:1800px){
        #features .grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
      } */
      #features .visual{ overflow: hidden; }
#features .visual img{
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  transform: none;
}
.project-title{
  font-size:30px;
  color: #000;
  FONT-WEIGHT: 600;
}
.subtitle{
}

.footnote {
  text-align: center !important;
  padding: 1.5rem !important;
}

.footnote .project-title {
  display: block !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  margin-bottom: 0.25rem !important;
  color: #000 !important;
}

.footnote .subtitle {
  font-size: 0.9rem !important;
  color: #666 !important;
  margin-bottom: 0.75rem !important;
  letter-spacing: 0.5px !important;
}




