/* FM Towers WordPress integration and native article pages. All media begins unassigned. */
.fmt-wordmark {
    display: inline-block;
    font: 400 18px/.9 'Marcellus', Georgia, serif;
    letter-spacing: .08em;
    color: #fff;
    padding-top: 12px;
    text-align: center
}

.scrolled .fmt-wordmark {
    font-size: 14px;
    padding-top: 7px
}

.footer-brand {
    display: block;
    flex: none;
    width: 100px
}

.footer-brand img {
    width: 100%;
    height: auto;
    object-fit: contain
}

.footer-brand .fmt-wordmark {
    font-size: 19px
}

.fmt-media-empty {
    display: block;
    color: transparent !important;
    font-size: 0 !important;
    background: linear-gradient(145deg, #d8d4cb 0%, #bcb7ae 48%, #dfdbd1 100%);
    object-fit: cover
}

.dark .fmt-media-empty,
.home-hero .fmt-media-empty,
.media-frame .fmt-media-empty {
    background: linear-gradient(140deg, #404441, #252b2a 52%, #46463d)
}

img.fmt-media-empty:not([src]) {
    font-size: 0
}

.fmt-honey {
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important
}

.admin-bar .site-header {
    top: 32px
}

.fmt-post-image-empty {
    display: block;
    width: 100%;
    height: 245px;
    background: linear-gradient(145deg, #dedad2, #bfbcb3 55%, #e2ded6)
}

.blog-card>.blog-thumb {
    display: block;
    width: 100%;
    height: 245px;
    overflow: hidden;
    background: #dedad2
}

.blog-card>.blog-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease
}

.blog-card>.blog-thumb:hover img {
    transform: scale(1.035)
}

.blog-card h3 a:hover {
    color: var(--gold)
}

.blog-tag a {
    color: inherit
}

.blog-tag a:hover {
    color: var(--gold)
}

.blog-card-body {
    height: calc(100% - 245px);
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

.blog-card .blog-meta {
    margin-top: auto;
}

.blog-card-body>.btn {
    margin-top: 0
}

.blog-section {
    min-height: 54vh
}

.fmt-empty-posts {
    text-align: center;
    border: 1px solid #dad6ce;
    padding: 56px 22px;
    max-width: 720px;
    margin: 0 auto
}

.fmt-empty-posts h3 {
    font-size: 32px;
    margin-bottom: 14px
}

.fmt-empty-posts p {
    color: #666
}

.fmt-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 56px
}

.fmt-pagination .page-numbers {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center
}

.fmt-pagination .page-numbers li {
    margin: 0
}

.fmt-pagination a.page-numbers,
.fmt-pagination span.page-numbers,
.fmt-pagination .page-numbers a,
.fmt-pagination .page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: 7px 12px;
    border: 1px solid #c9c5bc;
    color: #262626;
    font-size: 13px
}

.fmt-pagination .page-numbers .current,
.fmt-pagination span.current {
    background: var(--dark);
    color: #fff;
    border-color: var(--dark)
}

.fmt-pagination a:hover {
    border-color: var(--gold);
    color: var(--gold)
}

.fmt-single-hero {
    min-height: 460px;
    height: auto;
    padding-top: 164px;
    align-items: flex-end
}

.fmt-single-hero h1 {
    max-width: 980px;
    font-size: clamp(43px, 4.15vw, 74px);
    margin: 20px 0
}

.fmt-single-hero .fmt-breadcrumb {
    font-size: 13px;
    color: #e3dacb;
    letter-spacing: .02em
}

.fmt-breadcrumb span {
    opacity: .6;
    margin: 0 8px
}

.fmt-breadcrumb a {
    text-decoration: underline;
    text-underline-offset: 5px
}

.fmt-single-hero .fmt-single-meta {
    font-size: 13px;
    color: #e5ded5
}

.fmt-single-meta span {
    margin: 0 10px;
    color: #c29c61
}

.fmt-single-article {
    padding: 75px 0 60px;
    background: var(--cream)
}

.fmt-single-featured {
    width: 100%
}

.fmt-single-featured>img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 1;
    object-fit: cover;
	border-radius: 10px;
	
}

.fmt-single-featured figcaption {
    font-size: 12px;
    color: #777;
    margin-top: 9px;
    text-align: center
}

.fmt-single-featured-empty {
    height: 0px;
    background: linear-gradient(145deg, #e2ded6, #bbb6ab 55%, #e0dad0)
}

/* .fmt-article-content {
    color: #222222;
}

.fmt-article-content>p:first-child {
    font-size: 19px
}

.fmt-article-content p {
    margin: 0 0 25px
}

.fmt-article-content h2 {
    font-size: clamp(30px, 3vw, 44px);
    margin: 44px 0 18px
}

.fmt-article-content h3 {
    font-size: clamp(24px, 2.4vw, 34px);
    margin: 35px 0 15px
}

.fmt-article-content h4 {
    font-size: 22px;
    margin: 28px 0 12px
}

.fmt-article-content ul,
.fmt-article-content ol {
    margin: 15px 0 30px;
    padding-left: 28px
}

.fmt-article-content li {
    margin-bottom: 11px
}

.fmt-article-content a:not(.btn) {
    color: #966e2f;
    text-decoration: underline;
    text-underline-offset: 4px
}

.fmt-article-content blockquote {
    font: 400 clamp(23px, 2.8vw, 35px)/1.4 'Marcellus', serif;
    border-left: 3px solid var(--gold);
    padding: 7px 24px;
    margin: 38px 0
}

.fmt-article-content img {
    height: auto;
    max-width: 100%
}

.fmt-article-content figure {
    margin: 28px 0
}

.fmt-article-content figcaption {
    font-size: 13px;
    text-align: center;
    color: #777;
    margin-top: 9px
}

.fmt-article-content iframe {
    max-width: 100%
}

.fmt-article-content pre {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    padding: 20px;
    background: #eeece6;
    font-size: 14px
}

.fmt-article-content table {
    width: 100%;
    border-collapse: collapse
}

.fmt-article-content th,
.fmt-article-content td {
    border: 1px solid #ccc;
    padding: 10px
}

.fmt-article-content .alignwide {
    max-width: 100%;
    width: 100%
}

.fmt-article-content .aligncenter {
    margin-left: auto;
    margin-right: auto
}

.fmt-article-content .alignright {
    float: right;
    margin-left: 20px
}

.fmt-article-content .alignleft {
    float: left;
    margin-right: 20px
} */

.fmt-article-end {
    margin-top: 66px;
    padding-top: 30px;
    border-top: 1px solid #dad6cd;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    align-items: center;
    justify-content: space-between
}

.fmt-article-end .eyebrow {
    width: 100%
}

.fmt-post-categories {
    font-size: 13px
}

.fmt-post-categories a {
    color: var(--gold)
}

.fmt-post-neighbors {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding-bottom: 62px
}

.fmt-post-neighbors>div>a {
    display: block;
    padding: 25px 30px;
    border: 1px solid #c8c3b9;
    height: 100%;
    transition: background .2s
}

.fmt-post-neighbors>div>a:hover {
    background: #e8e3da
}

.fmt-post-neighbors strong {
    display: block;
    font: 400 23px/1.2 'Marcellus', serif
}

.fmt-post-neighbors .eyebrow {
    display: block;
    margin-bottom: 12px
}

.fmt-related-posts {
    border-top: 1px solid #d6d1c6
}

/* Blog discussions are disabled. */
.fmt-search-form input {
    width: 100%;
    border: 1px solid #c6c0b6;
    padding: 12px;
    background: #fff;
    color: #222
}

.fmt-center-page {
    text-align: center;
    max-width: 780px
}

.fmt-center-page>.btn {
    margin: 25px auto
}

.fmt-search-form {
    display: flex;
    gap: 10px;
    max-width: 510px;
    margin: 30px auto
}

.fmt-search-form input {
    flex: 1;
    min-width: 0
}

.fmt-search-form .btn {
    border: 0
}

.fmt-extra-content {
    border-top: 1px solid #dedad0
}

/* WordPress admin bar and responsive additions. */
@media(max-width:782px) {
    .admin-bar .site-header {
        top: 46px
    }
}

@media(max-width:767px) {
    .fmt-single-hero {
        padding-top: 155px;
        min-height: 410px
    }

    .fmt-single-article {
        padding: 35px 0
    }

    .fmt-single-featured {
        margin-bottom: 35px
    }

    /* .fmt-article-content {
        font-size: 15px;
        line-height: 1.75
    }

    .fmt-article-content>p:first-child {
        font-size: 17px
    } */

    .fmt-article-end {
        align-items: flex-start;
        flex-direction: column
    }

    .fmt-post-neighbors {
        grid-template-columns: 1fr
    }

    .fmt-single-featured-empty {
        height: 0px
    }

    .fmt-search-form {
        flex-direction: column
    }

    .fmt-pagination {
        margin-top: 35px
    }
}

@media(max-width:600px) {

    .blog-card>.blog-thumb,
    .fmt-post-image-empty {
        height: 230px
    }

    .blog-card-body {
        height: calc(100% - 230px)
    }
}

/* 1.0.2: WordPress-uploaded images replace decorative icon symbols. */
.purpose-grid .purpose-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
}

.purpose-grid .purpose-icon img.fmt-uploaded-icon {
    display: block;
    width: 54px;
    height: 54px;
    max-width: 100%;
    object-fit: contain;
    margin: 0 auto;
}

.steps-grid article>.fmt-step-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
}

.steps-grid .fmt-step-icon img.fmt-uploaded-icon {
    display: block;
    width: 58px;
    height: 58px;
    max-width: 100%;
    object-fit: contain;
}

.contact-option .fmt-option-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
}

.contact-option .fmt-option-icon img.fmt-uploaded-icon {
    display: block;
    width: 52px;
    height: 52px;
    max-width: 100%;
    object-fit: contain;
}

@media (max-width:600px) {
    .contact-option .fmt-option-icon {
        width: 50px;
        height: 50px;
    }

    .contact-option .fmt-option-icon img.fmt-uploaded-icon {
        width: 42px;
        height: 42px;
    }
}




/* =========================================
   FM TOWERS — BLOG / ARTICLE STYLES
   Works for all current and future blogs
   ========================================= */

/* ---------- Blog Container ---------- */
.fm-blog {
    margin: 30px auto;
    padding: 24px;
    background-color: #FFFFFF;
    color: #222222;
    line-height: 1.7;
    border-radius: 10px;
}

/* ---------- Typography ---------- */
.fm-blog h1 {
  font-size: 34px;
  color: #222222;
  margin: 0 0 20px 0;
  line-height: 1.3;
}

.fm-blog h2 {
  font-size: 28px;
  color: #222222;
  margin: 48px 0 20px 0;
  padding-bottom: 10px;
  border-bottom: 2px solid #B0833D;
}

.fm-blog h3 {
  font-size: 22px;
  color: #B0833D;
  margin: 28px 0 12px 0;
}

.fm-blog h4 {
  font-size: 18px;
  color: #222222;
  margin: 24px 0 10px 0;
}

.fm-blog p {
  color: #222222;
  margin: 0 0 18px 0;
}

.fm-blog strong {
  color: #222222;
}

.fm-blog a {
  color: #B0833D;
  font-weight: 600;
  text-decoration: none;
}

.fm-blog a:hover {
  text-decoration: underline;
}

.fm-blog ul,
.fm-blog ol {
  color: #222222;
  padding-left: 22px;
  margin: 0 0 20px 0;
}

.fm-blog li {
  margin-bottom: 10px;
}

/* ---------- Quick Answer / Highlight Box ---------- */
.fm-highlight {
background-color: #F6F4EE;
    border-left: 5px solid #B0833D;
    padding: 24px 28px;
    border-radius: 8px;
    margin: 0 0 36px 0;
}

.fm-highlight h2 {
  margin: 0 0 12px 0;
  border-bottom: none;
  padding-bottom: 0;
}

.fm-highlight p {
  margin: 0;
  color: #222222;
}

/* ---------- Callout / Important Note ---------- */
.fm-callout {
  background-color: #222222;
  color: #FFFFFF;
  padding: 20px 24px;
  border-radius: 8px;
  margin: 28px 0;
}

.fm-callout p {
  margin: 0;
  color: #FFFFFF;
}

.fm-callout strong {
  color: #B0833D;
}

/* ---------- Info Box ---------- */
.fm-info-box {
  background-color: #F6F4EE;
  border: 1px solid #888888;
  padding: 20px 24px;
  border-radius: 8px;
  margin: 28px 0;
}

.fm-info-box p {
  margin: 0;
  color: #222222;
}

/* ---------- Comparison Table ---------- */
.fm-table-wrap {
  overflow-x: auto;
  margin: 24px 0 36px 0;
}

.fm-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  color: #222222;
}

.fm-table th {
  background-color: #222222;
  color: #FFFFFF;
  padding: 14px 16px;
  text-align: left;
  border: 1px solid #222222;
}

.fm-table td {
  padding: 12px 16px;
  border: 1px solid #888888;
  vertical-align: top;
}

.fm-table tr:nth-child(odd) td {
  background-color: #F6F4EE;
}

.fm-table tr:nth-child(even) td {
  background-color: #FFFFFF;
}

/* ---------- Two-Column Choice Cards ---------- */
.fm-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 28px 0;
}

.fm-card {
  flex: 1 1 320px;
  padding: 24px;
  border-radius: 8px;
  background-color: #FFFFFF;
  border: 1px solid #888888;
}

.fm-card--gold {
  background-color: #F6F4EE;
  border: none;
  border-top: 4px solid #B0833D;
}

.fm-card--dark {
  border-top: 4px solid #222222;
}

.fm-card h3 {
  margin: 0 0 12px 0;
  color: #222222;
  font-size: 20px;
}

.fm-card ul {
  margin: 0;
  padding-left: 20px;
  font-size: 15px;
}

.fm-card li {
  margin-bottom: 8px;
}

/* ---------- Checklist ---------- */
.fm-checklist {
  counter-reset: fm-check;
  padding-left: 0;
  list-style: none;
}

.fm-checklist li {
  position: relative;
  padding-left: 40px;
  margin-bottom: 14px;
  color: #222222;
}

.fm-checklist li::before {
  counter-increment: fm-check;
  content: counter(fm-check);
  position: absolute;
  left: 0;
  top: 0;
  width: 26px;
  height: 26px;
  background-color: #B0833D;
  color: #FFFFFF;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ---------- CTA Button ---------- */
.fm-cta-wrap {
  text-align: center;
  margin: 32px 0;
}

.fm-btn {
  display: inline-block;
  background-color: #B0833D;
  color: #FFFFFF !important;
  padding: 14px 32px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none !important;
  transition: background-color 0.3s ease;
}

.fm-btn:hover {
  background-color: #888888;
}

/* ---------- FAQ ---------- */
.fm-faq {
  border: 1px solid #888888;
  border-radius: 8px;
  padding: 20px 24px;
  margin-bottom: 16px;
}

.fm-faq h3 {
  margin: 0 0 8px 0;
  color: #B0833D;
  font-size: 18px;
}

.fm-faq p {
  margin: 0;
  font-size: 15px;
}

/* ---------- Disclaimer ---------- */
.fm-disclaimer {
  color: #888888;
  font-size: 14px;
  font-style: italic;
  margin: 24px 0;
}

/* ---------- Mobile Responsiveness ---------- */
@media (max-width: 768px) {
  .fm-blog {
    padding: 28px 18px;
  }

  .fm-blog h1 {
    font-size: 28px;
  }

  .fm-blog h2 {
    font-size: 24px;
  }

  .fm-blog h3 {
    font-size: 20px;
  }

  .fm-highlight,
  .fm-info-box,
  .fm-callout {
    padding: 18px 20px;
  }

  .fm-card {
    flex: 1 1 100%;
  }
}