/* Homepage — transcribed from Elementor post-4444.css */

/* ---- hero ------------------------------------------------------------ */
.hero {
  position: relative;
  padding: 50px 0;
  background-image: url('/wp-content/uploads/2019/08/succulent-bg.jpg');
  background-position: top center;
  background-size: cover;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background-color: #fff;
  opacity: 0.6;
}
/* Elementor boxed container: exactly 1140px, 10px column padding, no theme gutters */
.hero-inner {
  position: relative;
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 10px;
}
.hero-name {
  margin: 0 0 22px;
  font-family: Lato, sans-serif;
  font-size: 100px;
  font-weight: 300;
  line-height: 1.4em;
  letter-spacing: 2px;
  color: #222;
}
.hero-list {
  margin: 0 0 20px;
  font-family: Lato, sans-serif;
  font-size: 28px;
  font-weight: 300;
  line-height: 1.4em;
  letter-spacing: normal;
  color: #000;
}
.hero-list b { font-weight: 700; }
.hero-divider { padding: 2px 0; margin-bottom: 20px; }
.hero-divider span {
  display: inline-block;
  width: 25%;
  border-top: 2.5px solid var(--teal);
}
.hero-social { margin-top: 10px; }
.hero-social a { display: inline-block; margin-right: 15px; color: #000; }
.hero-social svg { width: 20px; height: 20px; fill: currentColor; transition: fill 0.2s, color 0.2s; }
.hero-social a:hover { color: var(--teal); }
.hero-cta {
  display: inline-block;
  margin-top: -15px;
  padding: 0 0 7px;
  font-family: Roboto, sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #000;
  transition: color 0.2s;
}
.hero-cta:hover { color: var(--teal); }

@media (max-width: 767px) {
  .hero-name { font-size: 60px; }
  .hero-list { font-size: 24px; }
}

/* ---- portfolio tiles -------------------------------------------------- */
.tiles { display: flex; }
.tile-col { display: flex; flex-direction: column; width: 33.3333%; }
.tile { position: relative; display: block; overflow: hidden; }
.tile-hidden { display: none; }
.tile img { display: block; width: 100%; height: auto; }
.tile-caption {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: var(--tile-overlay);
  outline: 1px solid #fff;
  outline-offset: -20px;
  opacity: 0;
  transition: all 0.8s ease;
}
.tile:hover .tile-caption { opacity: 1; }
.tile-title {
  margin-bottom: 10px;
  font-family: Lato, sans-serif;
  font-size: 48px;
  font-weight: 300;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #fff;
  line-height: 1.2;
}
.tile-sub {
  font-family: Lato, sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fff;
}

@media (max-width: 767px) {
  .tiles { flex-direction: column; }
  .tile-col { width: 100%; }
}

/* ---- about ------------------------------------------------------------ */
.about { padding: 50px 0; }
.about-inner {
  display: flex;
  align-items: flex-start;
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}
.about-photo { width: 30.023%; padding: 10px; text-align: center; }
.about-photo img { width: 60%; border-radius: 50%; }
.about-text { width: 69.977%; padding: 10px; }
.about-label {
  margin: 0 0 20px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  line-height: 40px;
  color: #000;
}
.about-blurb {
  margin: 0;
  font-family: Lato, sans-serif;
  font-size: 22px;
  font-weight: 300;
  line-height: 1.5em;
  letter-spacing: normal;
  color: #000;
}

@media (max-width: 767px) {
  .about-inner { flex-direction: column; }
  .about-photo, .about-text { width: 100%; }
  .about-blurb { font-size: 24px; }
}
