.elementor-18 .elementor-element.elementor-element-3dfb388{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-18 .elementor-element.elementor-element-3dfb388:not(.elementor-motion-effects-element-type-background), .elementor-18 .elementor-element.elementor-element-3dfb388 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#D1DCE0;}.elementor-18 .elementor-element.elementor-element-63a5cea{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}/* Start custom CSS for html, class: .elementor-element-63a5cea */.elementor-18 .elementor-element.elementor-element-63a5cea {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  overflow-x: hidden;
}

.elementor-18 .elementor-element.elementor-element-63a5cea .sme-main {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.elementor-18 .elementor-element.elementor-element-63a5cea .sme-hero {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
/* =========================
   MAIN WRAPPER
========================= */

.sme-main {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: #d9e6ea;
  font-family: Georgia, "Times New Roman", serif;
  color: #2c2c2c;
  overflow-x: hidden;
}

.sme-main * {
  box-sizing: border-box;
}

/* =========================
   CONTENT WIDTH
========================= */

.sme-container {
  width: min(92%, 1180px);
  margin: 0 auto;
}

/* =========================
   HERO
========================= */

.sme-hero {
 width: 100% !important;
max-width: 100% !important;

  min-height: 620px;

  background:
    linear-gradient(rgba(36,52,85,0.68), rgba(36,52,85,0.68)),
    url("https://smeast66reunion.com/images/sme-school-1.jpg") center center / cover no-repeat;

  color: #ffffff;

  display: flex;
  align-items: center;
  justify-content: center;

  text-align: center;

  padding: 90px 20px 130px;
}

.sme-hero-inner {
  max-width: 980px;
  margin: 0 auto;
}

.sme-eyebrow {
  display: inline-block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #f2e4c8;

  border-bottom: 2px solid rgba(242,228,200,0.75);

  padding-bottom: 8px;
  margin-bottom: 26px;
}

.sme-hero h2 {
  margin: 0 0 24px;
  color: #ffffff;

  font-size: clamp(58px, 7vw, 96px);
  line-height: 0.98;
}

.sme-hero p {
  margin: 0 auto 32px;

  max-width: 860px;

  color: #ffffff;

  font-size: 24px;
  line-height: 1.55;
}

/* =========================
   BUTTONS
========================= */

.sme-button-row {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.sme-btn {
  display: inline-block;

  padding: 15px 24px;

  border-radius: 9px;

  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;

  text-decoration: none !important;
  line-height: 1.2;
}

.sme-btn-light {
  background: #ffffff;
  color: #243455 !important;
}

.sme-btn-outline {
  background: transparent;
  color: #ffffff !important;
  border: 2px solid rgba(255,255,255,0.8);
}

.sme-btn-blue {
  background: #0070ba;
  color: #ffffff !important;
}

.sme-btn-blue:hover {
  background: #005ea6;
}

/* =========================
   FACTS BAR
========================= */

.sme-facts-section {
  margin-top: -70px;

  position: relative;
  z-index: 5;

  padding-bottom: 70px;
}

.sme-facts-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);

  background: #fffdf9;

  border: 1px solid #ddd4c6;
  border-radius: 18px;

  overflow: hidden;

  box-shadow: 0 16px 40px rgba(0,0,0,0.10);
}

.sme-fact {
  padding: 26px 28px;

  border-right: 1px solid #ddd4c6;
}

.sme-fact:last-child {
  border-right: none;
}

.sme-fact h3 {
  margin: 0 0 10px;

  color: #9d7b46;

  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;

  text-transform: uppercase;
}

.sme-fact p {
  margin: 0;

  font-size: 18px;
  line-height: 1.55;
}

/* =========================
   SECTIONS
========================= */

.sme-section {
  padding: 76px 0;
}

.sme-blue-section {
  background: #eef2f6;
}

.sme-rsvp-section {
  background: #fffdf9;

  border-top: 1px solid #ddd4c6;
  border-bottom: 1px solid #ddd4c6;
}

/* =========================
   COLUMNS
========================= */

.sme-two-col,
.sme-help-grid {
  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 34px;

  align-items: start;
}

/* =========================
   CARDS
========================= */

.sme-card {
  background: #fffdf9;

  border: 1px solid #ddd4c6;
  border-radius: 18px;

  box-shadow: 0 16px 40px rgba(0,0,0,0.10);

  padding: 36px;
}

.sme-card h2,
.sme-content h2 {
  margin: 0 0 20px;

  color: #31456d;

  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.08;
}

.sme-card h3 {
  margin: 0 0 16px;

  color: #31456d;

  font-size: 30px;
}

.sme-card p,
.sme-card li,
.sme-content p {
  font-size: 18px;
  line-height: 1.65;
}

/* =========================
   IMAGES
========================= */

.sme-image-stack {
  display: flex;
  flex-direction: column;

  gap: 24px;
}

.sme-image-stack figure,
.sme-feature-image {
  margin: 0;

  background: #fffdf9;

  border: 1px solid #ddd4c6;
  border-radius: 18px;

  overflow: hidden;

  box-shadow: 0 16px 40px rgba(0,0,0,0.10);
}

.sme-image-stack img,
.sme-feature-image img {
  width: 100%;
  display: block;

  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.sme-image-stack figcaption,
.sme-feature-image figcaption {
  padding: 14px 18px;

  background: #faf7f1;

  text-align: center;

  font-style: italic;
}

/* =========================
   CALLOUTS
========================= */

.sme-highlight,
.sme-callout {
  background: #fffdf9;

  border-left: 6px solid #9d7b46;

  border-radius: 14px;

  padding: 22px;

  margin-top: 22px;
}

/* =========================
   HELP AREA
========================= */

.sme-help-grid {
  margin-top: 34px;

  padding-top: 30px;

  border-top: 1px solid #ddd4c6;
}

.sme-help-box,
.sme-contact-box {
  padding: 26px;

  border-radius: 16px;
}

.sme-help-box {
  background: #f8f2e8;

  border: 1px solid #e3d4bd;
}

.sme-contact-box {
  background: #eef2f6;

  border: 1px solid #d8e0ea;
}

/* =========================
   MOBILE
========================= */

@media (max-width: 900px) {

  .sme-hero {
    min-height: 480px;

    padding: 70px 20px;
  }

  .sme-hero h2 {
    font-size: 48px;
  }

  .sme-hero p {
    font-size: 19px;
  }

  .sme-button-row {
    flex-direction: column;
  }

  .sme-facts-grid,
  .sme-two-col,
  .sme-help-grid {
    grid-template-columns: 1fr;
  }

  .sme-fact {
    border-right: none;
    border-bottom: 1px solid #ddd4c6;
  }

  .sme-fact:last-child {
    border-bottom: none;
  }

  .sme-card {
    padding: 28px;
  }
}
.attending-section {
  padding: 70px 20px;
  background: #eef5f7;
}

.attending-card {
  max-width: 1100px;
  margin: 0 auto;
  background: #fffaf4;
  border-radius: 24px;
  padding: 45px;
  box-shadow: 0 18px 45px rgba(43, 60, 90, 0.12);
  border: 1px solid rgba(218, 198, 170, 0.7);
}

.attending-kicker {
  margin: 0 0 10px;
  font-size: 18px;
  letter-spacing: 0.04em;
  color: #d94568;
  font-weight: 600;
}

.attending-card h2 {
  margin: 0;
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.05;
  color: #2f4068;
}

.attending-intro {
  max-width: 760px;
  margin: 18px 0 35px;
  font-size: 22px;
  line-height: 1.5;
  color: #3e3e3e;
}

.attending-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
}

.attending-column {
  background: #ffffff;
  border-radius: 18px;
  padding: 30px;
  border: 1px solid rgba(218, 198, 170, 0.65);
}

.attending-column h3 {
  margin: 0 0 18px;
  font-size: 30px;
  color: #2f4068;
}

.attending-column ul {
  margin: 0;
  padding-left: 24px;
}

.attending-column li {
  font-size: 21px;
  line-height: 1.65;
  color: #333333;
}

@media (max-width: 760px) {
  .attending-section {
    padding: 45px 16px;
  }

  .attending-card {
    padding: 28px 20px;
  }

  .attending-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .attending-column {
    padding: 24px 20px;
  }

  .attending-column li {
    font-size: 20px;
  }
}/* End custom CSS */