/*
Theme Name: Hello Plexamedia
Version: 1.0
Template: hello-elementor
*/
/* global style */

:root {
  --primary-background: #0e8313;   /*green*/
  --secondary-background: #e95b1d; /*orange*/
  --tertiary-background: #eaf7fb;  /* Tertiary background - should be a light color for mainnly used for ul, ol */     
  --color-text-primary: #000;
  --color-text-seconday: #fff;
  --color-text-tertiary: #000;
  --highlight: #ffb900;
 
  --accent-color-1: #0D6EFD;   
  --accent-color-2: #6710F5;   
  --accent-color-3: #6F42C1;   
   --accent-color-4: #D63384;   
   --accent-color-5: #DC3545;
  /* Theme color */
  --theme: var(--primary);
  
  --service-background-color: #fff;                            /* Primary background - main content areas */     
  --service-text-color: #333333;                               /* Primary text - body text and headings */     
  --service-secondary-background-color: #0e8313;               /* Secondary background - accent/highlight sections */     
  --service-secondary-text-color: #fff;                        /* Secondary text - text on secondary backgrounds */  
  --service-tertiary-background-color: #eaf7fb;                /* Tertiary background - accent/highlight sections */     
  --service-tertiary-text-color: #222;                      /* Tertiary text - text on backgrounds */   
  --cta-background-color: #e95b1d;                             /* CTA background - high contrast for action items */     
  --cta-text-color: #fff;                                   /* CTA text - text on CTA backgrounds */
  --cta-btn-color: #1ee576;
  --cta-btn-color-hover: #1ee576CC;
  --cta-btn-text-color: #000;
  --cta-split-background: #222222;
  --service-icon-badge-color: #fff;
  --service-icon-background-color: #e7581a;
}

h1, h2, h3, h4 {
  	color: var(--color-text-primary);
    font-family: "Outfit", Sans-serif;
    font-weight: 600;
  	letter-spacing: 0.6px;
    word-spacing: 0.6px;
  	line-height: 1.3;
}

h2 {
    font-size: 1.5em;
    margin: 2.5em 0 8px;
}

h3 {
    font-size: 1.17em;
    margin: 2em 0 8px 10px;
}

h3 + div,
h3 + p {
    margin-left: 10px !important;
}

h4 {
    font-size: 20px;
    margin-bottom: 0.3em;
}

ul li,
ol li {
    margin-bottom: 0.3em;
}

p {
	margin-bottom: 25px;	
}

p, ol, ul, li {
  	color: var(--color-text-primary);
  	font-family: "DM Sans", Sans-serif;
    font-size: 1em;
  	font-weight: 400;
    line-height: 1.5;
	letter-spacing: 0.6px;
    word-spacing: 0.6px;
}

a {
	color: #111C32;
}


a:hover {
	color: #111C32CC;
}

a.interior-btn {
    color: var(--color-text-seconday);
    background: #111;
    padding: 8px 16px;
    border-radius: 4px;
    display: inline-block;
    margin: 12px 0;
}

p:empty {
    display: none;
}

figure + span + h2 {
    margin-top: 0;
}

figcaption {
    font-size: 12px !important;
    text-align: center;
    display: none;
}

/*** end of global style ***/


/* Call Now Page Button */
.page-id-1137 .slide__content .ue_simple_slider_button{
	display: none !important;
}

/* Thank You Page */
.page-id-1226 h1.elementor-heading-title {
	text-align: center !important;
}

/* Homepage overflow scroll */
body{
    overflow-x: hidden !important;  
}

/* hiding home header */
div.page-header{
	display: none;
}

/* hiding accessebility icon */
.mdp-readabler-trigger-button-box.bottom-center.mdp-entrance-fade.mdp-hover-none{
  	display: none !important;
}

/* breadcrumbs */
div.breadcrumbs li.uc-breadcrumb-item span{
	font-size: 14px;
    color: #666;
}

div.breadcrumbs li.uc-breadcrumb-item span.uc-item-title-inner {
	color: #A70B2D;
}

/* gallery */
div.gallery {
    display: flex;
    flex-wrap: wrap;
    margin-top: 25px;
}

figure.gallery-item {
    flex: 0 0 30%;
    margin-right: 15px;
}

figure.gallery-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

@media(max-width:767px){
  
  .interior-page-style h1 {
      font-size: 2em !important;
      line-height: 1.3;
	}
  
  .interior-page-style h2 {
      font-size: 1.5em !important;
      line-height: 1.3;
	}
  
  .interior-page-style h3 {
      font-size: 1.17em !important;
      line-height: 1.3;
	}
  
  .interior-page-style h4 {
      font-size: 20px !important;
      line-height: 1.3;
	}

  .interior-page-style h5 {
      font-size: 18px !important;
      line-height: 1.3;
	}
}

header.site-header.dynamic-header,
footer.site-footer {
	display: none;
}

body.page-id-6304 header.entry-header.ast-header-without-markup {
	display: none !important;
}

/* =========================================================
   EXECUTIVE PROPERTY MANAGEMENT
   REUSABLE SERVICE PAGE CSS
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Outfit:wght@300;400;500&display=swap');

:root {
    --epm-navy: #111C32;
    --epm-navy-soft: #1A2947;
    --epm-white: #FFFFFF;
    --epm-cream: #F6F3EC;
    --epm-cream-dark: #ECE7DD;
    --epm-text: #343A46;
    --epm-muted: #707681;
    --epm-gold: #A58B55;
    --epm-gold-light: #D3C39D;
    --epm-border: #D9DDE3;
    --epm-max-width: 1280px;
    --epm-section-space: 95px;
}

.epm-service-page,
.epm-service-page * { box-sizing: border-box; }

.epm-service-page {
    width: 100%;
    margin: 0;
    padding: 0;
    font-family: "DM Sans", sans-serif;
    font-weight: 400;
    color: var(--epm-text);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

.epm-service-page h1,
.epm-service-page h2,
.epm-service-page h3,
.epm-service-page h4 {
    margin-top: 0;
    font-family: "Outfit", sans-serif;
    font-weight: 300;
    color: var(--epm-navy);
    line-height: 1.08;
}

.epm-service-page h1 { font-size: clamp(46px, 6vw, 78px); }
.epm-service-page h2 { max-width: 950px; margin-bottom: 25px; font-size: clamp(38px, 4.2vw, 58px); }
.epm-service-page h3 { margin-bottom: 13px; font-size: clamp(23px, 2.2vw, 29px); }
.epm-service-page h4 { font-size: 21px; }

.epm-service-page p {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 17px;
    line-height: 1.75;
}

.epm-service-page p:last-child { margin-bottom: 0; }
.epm-service-page strong { font-weight: 600; color: var(--epm-navy); }

.epm-service-page a {
    color: var(--epm-navy);
    font-weight: 500;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    text-decoration-color: rgba(17, 28, 50, 0.35);
    transition: color 0.25s ease, text-decoration-color 0.25s ease;
}

.epm-service-page a:hover { color: var(--epm-gold); text-decoration-color: var(--epm-gold); }
.epm-service-page h3 a { font-family: inherit; font-weight: inherit; color: inherit; text-decoration: none; }
.epm-service-page h3 a:hover { color: var(--epm-gold); }

.epm-container {
    width: 100%;
    max-width: var(--epm-max-width);
    margin-left: auto;
    margin-right: auto;
}

.epm-section { position: relative; width: 100%; padding: var(--epm-section-space) 28px; }
.epm-section-light { background: var(--epm-white); }
.epm-section-cream { background: var(--epm-cream); }
.epm-section-dark { background: var(--epm-navy); color: var(--epm-white); }
.epm-section-dark h2,
.epm-section-dark h3,
.epm-section-dark h4,
.epm-section-dark strong { color: var(--epm-white); }
.epm-section-dark p { color: rgba(255, 255, 255, 0.80); }
.epm-section-dark a { color: var(--epm-white); text-decoration-color: rgba(255, 255, 255, 0.35); }
.epm-section-dark a:hover { color: var(--epm-gold-light); text-decoration-color: var(--epm-gold-light); }

.epm-eyebrow {
    display: block;
    margin-bottom: 18px;
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--epm-gold);
}
.epm-section-dark .epm-eyebrow { color: var(--epm-gold-light); }

.epm-two-col {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 75px;
    align-items: center;
}
.epm-two-col-top { align-items: start; }

.epm-answer-box {
    position: relative;
    margin-top: 32px;
    padding: 28px 30px;
    background: var(--epm-cream);
    border-left: 3px solid var(--epm-navy);
}
.epm-section-cream .epm-answer-box { background: var(--epm-white); }
.epm-answer-box p { margin-bottom: 0; }
.epm-answer-box strong { color: var(--epm-navy); }

.epm-image-wrap {
    position: relative;
    width: 100%;
    min-height: 500px;
    overflow: hidden;
    background: var(--epm-cream-dark);
}
.epm-image-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 500px;
    object-fit: cover;
    object-position: center;
}
.epm-image-wrap::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 85px;
    height: 4px;
    background: var(--epm-gold);
}

.epm-service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 50px;
    border-top: 1px solid var(--epm-border);
    border-left: 1px solid var(--epm-border);
}
.epm-service-item {
    position: relative;
    min-height: 270px;
    padding: 38px;
    background: transparent;
    border-right: 1px solid var(--epm-border);
    border-bottom: 1px solid var(--epm-border);
    transition: background 0.25s ease, transform 0.25s ease;
}
.epm-service-item:hover { background: rgba(255, 255, 255, 0.55); }
.epm-service-item h3 { margin-bottom: 14px; }
.epm-service-item p { margin-bottom: 0; }
.epm-number,
.epm-service-number {
    display: block;
    margin-bottom: 30px;
    font-family: "Outfit", sans-serif;
    font-size: 18px;
    font-weight: 300;
    color: var(--epm-gold);
}

.epm-three-col {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 38px;
    margin-top: 50px;
}
.epm-grid-item { padding-top: 28px; border-top: 1px solid var(--epm-border); }
.epm-grid-item h3 { margin-bottom: 13px; }
.epm-grid-item p { margin-bottom: 0; }
.epm-bottom-note { margin-top: 42px !important; max-width: 850px; }

.epm-factor-list { margin: 0; padding: 0; list-style: none; }
.epm-factor-list li {
    padding: 20px 0;
    font-size: 16px;
    line-height: 1.65;
    border-bottom: 1px solid var(--epm-border);
}
.epm-factor-list li:first-child { border-top: 1px solid var(--epm-border); }
.epm-factor-list strong {
    display: block;
    margin-bottom: 5px;
    font-size: 17px;
    color: var(--epm-navy);
}

.epm-process { margin-top: 52px; }
.epm-process-item {
    display: grid;
    grid-template-columns: 95px minmax(0, 1fr);
    gap: 32px;
    padding: 38px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.20);
}
.epm-process-item:last-child { border-bottom: 1px solid rgba(255, 255, 255, 0.20); }
.epm-process-number {
    font-family: "Outfit", sans-serif;
    font-size: 46px;
    font-weight: 300;
    line-height: 1;
    color: var(--epm-gold-light);
}
.epm-process-content { max-width: 850px; }
.epm-process-content h3 { margin-bottom: 10px; }
.epm-process-content p { margin-bottom: 0; }
.epm-process-content a { color: var(--epm-white); font-weight: 500; text-decoration-color: rgba(211, 195, 157, 0.6); }
.epm-process-content a:hover { color: var(--epm-gold-light); }

.epm-why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 48px 75px;
    margin-top: 50px;
}
.epm-why-item { padding-top: 28px; border-top: 1px solid var(--epm-border); }
.epm-why-item h3 { margin-bottom: 12px; }
.epm-why-item p { margin-bottom: 0; }

.epm-faq-wrap { width: 100%; max-width: 980px; margin-top: 48px; }
.epm-faq-item { border-top: 1px solid var(--epm-border); }
.epm-faq-item:last-child { border-bottom: 1px solid var(--epm-border); }
.epm-faq-item summary {
    position: relative;
    padding: 26px 55px 26px 0;
    cursor: pointer;
    list-style: none;
    font-family: "Outfit", sans-serif;
    font-size: 23px;
    font-weight: 300;
    line-height: 1.3;
    color: var(--epm-navy);
}
.epm-faq-item summary::-webkit-details-marker { display: none; }
.epm-faq-item summary::after {
    content: "+";
    position: absolute;
    top: 21px;
    right: 3px;
    font-family: "Outfit", sans-serif;
    font-size: 30px;
    font-weight: 300;
    line-height: 1;
    color: var(--epm-gold);
}
.epm-faq-item[open] summary::after { content: "−"; }
.epm-faq-answer { max-width: 850px; padding: 0 50px 26px 0; }
.epm-faq-answer p:last-child { margin-bottom: 0; }

.epm-related-section { overflow: hidden; }
.epm-related-section h2 { max-width: 760px; }
.epm-related-intro { max-width: 700px; margin-bottom: 0; color: rgba(255, 255, 255, 0.78); }
.epm-related-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin-top: 50px;
}
.epm-related-card {
    display: block;
    height: 100%;
    color: var(--epm-white) !important;
    text-decoration: none !important;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.025);
    transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.epm-related-card:hover {
    color: var(--epm-white) !important;
    background: rgba(255, 255, 255, 0.07);
    border-color: var(--epm-gold-light);
    transform: translateY(-5px);
}
.epm-related-card-inner {
    display: flex;
    flex-direction: column;
    min-height: 330px;
    height: 100%;
    padding: 32px 28px;
}
.epm-related-number {
    display: block;
    margin-bottom: 32px;
    font-family: "Outfit", sans-serif;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.08em;
    color: var(--epm-gold-light);
}
.epm-related-card h3 {
    margin: 0 0 16px;
    font-family: "Outfit", sans-serif;
    font-size: 27px;
    font-weight: 300;
    line-height: 1.1;
    color: var(--epm-white);
}
.epm-related-card:hover h3 { color: var(--epm-white); }
.epm-related-card p {
    margin: 0 0 28px;
    font-size: 15px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.72);
}
.epm-related-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--epm-white);
}
.epm-related-link span { display: inline-block; transition: transform 0.25s ease; }
.epm-related-card:hover .epm-related-link span { transform: translateX(5px); }

@media (max-width: 1024px) {
    :root { --epm-section-space: 75px; }
    .epm-section { padding-left: 24px; padding-right: 24px; }
    .epm-two-col { gap: 50px; }
    .epm-service-grid { grid-template-columns: repeat(2, 1fr); }
    .epm-three-col { grid-template-columns: repeat(2, 1fr); }
    .epm-image-wrap,
    .epm-image-wrap img { min-height: 440px; }
    .epm-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .epm-related-card-inner { min-height: 290px; }
}

@media (max-width: 767px) {
    :root { --epm-section-space: 58px; }
    .epm-section { padding-left: 20px; padding-right: 20px; }
    .epm-service-page h1 { font-size: 43px; }
    .epm-service-page h2 { font-size: 35px; line-height: 1.12; }
    .epm-service-page h3 { font-size: 24px; }
    .epm-service-page p { font-size: 16px; }
    .epm-two-col { grid-template-columns: 1fr; gap: 38px; }
    .epm-image-wrap,
    .epm-image-wrap img { min-height: 360px; }
    .epm-answer-box { padding: 24px 22px; }
    .epm-service-grid { grid-template-columns: 1fr; }
    .epm-service-item { min-height: auto; padding: 30px 26px; }
    .epm-number,
    .epm-service-number { margin-bottom: 20px; }
    .epm-three-col { grid-template-columns: 1fr; gap: 28px; }
    .epm-why-grid { grid-template-columns: 1fr; gap: 28px; }
    .epm-process { margin-top: 38px; }
    .epm-process-item { grid-template-columns: 52px 1fr; gap: 17px; padding: 30px 0; }
    .epm-process-number { font-size: 31px; }
    .epm-faq-wrap { margin-top: 35px; }
    .epm-faq-item summary { padding: 23px 42px 23px 0; font-size: 21px; }
    .epm-faq-item summary::after { top: 19px; }
    .epm-faq-answer { padding-right: 15px; }
    .epm-related-grid { grid-template-columns: 1fr; gap: 16px; margin-top: 36px; }
    .epm-related-card-inner { min-height: auto; padding: 28px 24px; }
    .epm-related-number { margin-bottom: 22px; }
    .epm-related-card h3 { font-size: 25px; }
    .epm-related-card:hover { transform: none; }
}

@media (max-width: 420px) {
    .epm-service-page h2 { font-size: 32px; }
    .epm-section { padding-left: 18px; padding-right: 18px; }
    .epm-image-wrap,
    .epm-image-wrap img { min-height: 300px; }
    .epm-process-item { grid-template-columns: 42px 1fr; }
    .epm-process-number { font-size: 27px; }
}


/* =========================================================
   EXECUTIVE PROPERTY MANAGEMENT
   SERVICE AREA / LOCATION PAGE MASTER CSS

   Reuse for:
   Birmingham
   Anniston
   Tarrant
   Tuscaloosa
   Center Point
   ========================================================= */


/* =========================================================
   VARIABLES / BASE
   ========================================================= */

.epm-area-page {
    --epm-navy: #111C32;
    --epm-accent: #D6C2A0;
    --epm-accent-light: #F3EDE3;
    --epm-cream: #F7F4EE;
    --epm-white: #FFFFFF;

    --epm-heading: #111C32;
    --epm-body: #414957;
    --epm-muted: #6E7480;

    --epm-border: #DFDBD2;
    --epm-dark-border: rgba(255, 255, 255, 0.14);

    --epm-container: 1240px;

    width: 100%;
    overflow: hidden;

    color: var(--epm-body);
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
}

.epm-area-page *,
.epm-area-page *::before,
.epm-area-page *::after {
    box-sizing: border-box;
}


/* =========================================================
   TYPOGRAPHY
   ========================================================= */

.epm-area-page h1,
.epm-area-page h2,
.epm-area-page h3,
.epm-area-page h4,
.epm-area-page h5,
.epm-area-page h6 {
    margin-top: 0;

    color: var(--epm-heading);
    font-family: "Outfit", sans-serif;
    font-weight: 300;
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.epm-area-page h2 {
    max-width: 760px;
    margin-bottom: 22px;

    font-size: clamp(34px, 4vw, 50px);
}

.epm-area-page h3 {
    margin-bottom: 12px;

    font-size: 23px;
    line-height: 1.2;
}

.epm-area-page p {
    margin-top: 0;
    margin-bottom: 17px;
}

.epm-area-page p:last-child {
    margin-bottom: 0;
}

.epm-area-page strong {
    color: var(--epm-navy);
    font-weight: 600;
}

.epm-area-page a {
    color: var(--epm-navy);

    text-decoration: underline;
    text-decoration-color: var(--epm-accent);
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;

    transition: color 0.25s ease;
}

.epm-area-page a:hover {
    color: #8F7650;
}


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

.epm-area-page .epm-section {
    width: 100%;
    padding: 88px 28px;
}

.epm-area-page .epm-container {
    width: 100%;
    max-width: var(--epm-container);

    margin-right: auto;
    margin-left: auto;
}

.epm-area-page .epm-section--white {
    background: var(--epm-white);
}

.epm-area-page .epm-section--cream {
    background: var(--epm-cream);
}

.epm-area-page .epm-section--accent {
    background: var(--epm-accent-light);
}

.epm-area-page .epm-section--navy {
    background: var(--epm-navy);
    color: rgba(255, 255, 255, 0.76);
}

.epm-area-page .epm-section--navy h2,
.epm-area-page .epm-section--navy h3,
.epm-area-page .epm-section--navy strong {
    color: #FFFFFF;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.epm-area-page .epm-eyebrow {
    position: relative;

    display: inline-block;

    margin: 0 0 15px;
    padding-left: 38px;

    color: #9A7C50;

    font-family: "DM Sans", sans-serif;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.epm-area-page .epm-eyebrow::before {
    content: "";

    position: absolute;
    top: 50%;
    left: 0;

    width: 25px;
    height: 1px;

    background: var(--epm-accent);

    transform: translateY(-50%);
}

.epm-area-page .epm-section--navy .epm-eyebrow {
    color: var(--epm-accent);
}


/* =========================================================
   INTRO / TWO COLUMN
   ========================================================= */

.epm-area-page .epm-intro {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 85px;
    align-items: start;
}

.epm-area-page .epm-intro__heading {
    max-width: 510px;
}

.epm-area-page .epm-intro__content {
    max-width: 625px;
}


/* =========================================================
   TWO IMAGE SECTIONS

   Use this class only twice per location page.
   ========================================================= */

.epm-area-page .epm-image-split {
    display: grid;
    grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr);
    gap: 70px;
    align-items: center;
}

.epm-area-page .epm-image-split--reverse {
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
}

.epm-area-page .epm-image-split--reverse .epm-image-split__image {
    order: 2;
}

.epm-area-page .epm-image-split--reverse .epm-image-split__content {
    order: 1;
}

.epm-area-page .epm-image-split__image {
    position: relative;

    width: 100%;
    min-height: 400px;

    overflow: hidden;

    background: #E8E3DA;
}

.epm-area-page .epm-image-split__image img {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 400px;

    object-fit: cover;
}

.epm-area-page .epm-image-split__image::after {
    content: "";

    position: absolute;
    right: 0;
    bottom: 0;

    width: 62px;
    height: 2px;

    background: var(--epm-accent);
}

.epm-area-page .epm-image-split__content {
    max-width: 625px;
}


/* =========================================================
   GENERAL CONTENT GRID
   ========================================================= */

.epm-area-page .epm-grid {
    display: grid;

    margin-top: 42px;

    border-top: 1px solid var(--epm-border);
    border-left: 1px solid var(--epm-border);
}

.epm-area-page .epm-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.epm-area-page .epm-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.epm-area-page .epm-card {
    min-height: 215px;
    padding: 31px 28px;

    border-right: 1px solid var(--epm-border);
    border-bottom: 1px solid var(--epm-border);

    background: transparent;
}

.epm-area-page .epm-card h3 {
    font-size: 22px;
}

.epm-area-page .epm-card p {
    font-size: 14px;
    line-height: 1.65;
}

.epm-area-page .epm-card__number {
    display: block;

    margin-bottom: 19px;

    color: #9A7C50;

    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.08em;
}


/* =========================================================
   OWNER / PROPERTY TYPE COLUMNS
   ========================================================= */

.epm-area-page .epm-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 42px;

    margin-top: 42px;
}

.epm-area-page .epm-feature {
    position: relative;

    padding-top: 22px;
}

.epm-area-page .epm-feature::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 35px;
    height: 1px;

    background: var(--epm-accent);
}

.epm-area-page .epm-feature p {
    font-size: 14px;
}


/* =========================================================
   BUYING / BENEFIT LIST
   ========================================================= */

.epm-area-page .epm-benefits {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 80px;
}

.epm-area-page .epm-benefit-list {
    margin: 0;
    padding: 0;

    list-style: none;
}

.epm-area-page .epm-benefit-list li {
    padding: 18px 0;

    border-top: 1px solid var(--epm-border);
}

.epm-area-page .epm-benefit-list li:last-child {
    border-bottom: 1px solid var(--epm-border);
}

.epm-area-page .epm-benefit-list strong {
    display: block;

    margin-bottom: 5px;

    font-family: "Outfit", sans-serif;
    font-size: 19px;
    font-weight: 300;
}

.epm-area-page .epm-benefit-list span {
    display: block;

    color: var(--epm-muted);

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


/* =========================================================
   DARK PROCESS
   ========================================================= */

.epm-area-page .epm-process {
    margin: 38px 0 0;
    padding: 0;

    list-style: none;

    counter-reset: epm-process;
}

.epm-area-page .epm-process li {
    display: grid;
    grid-template-columns: 65px 250px 1fr;
    gap: 25px;
    align-items: center;

    min-height: 91px;
    padding: 20px 0;

    border-top: 1px solid var(--epm-dark-border);

    counter-increment: epm-process;
}

.epm-area-page .epm-process li:last-child {
    border-bottom: 1px solid var(--epm-dark-border);
}

.epm-area-page .epm-process li::before {
    content: counter(epm-process, decimal-leading-zero);

    color: var(--epm-accent);

    font-family: "Outfit", sans-serif;
    font-size: 20px;
    font-weight: 300;
}

.epm-area-page .epm-process strong {
    color: #FFFFFF;

    font-family: "Outfit", sans-serif;
    font-size: 19px;
    font-weight: 300;
}

.epm-area-page .epm-process span {
    color: rgba(255, 255, 255, 0.64);

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


/* =========================================================
   DIFFERENTIATORS / "WHAT SETS US APART"
   ========================================================= */

.epm-area-page .epm-difference-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    margin-top: 40px;

    border-top: 1px solid var(--epm-border);
    border-left: 1px solid var(--epm-border);
}

.epm-area-page .epm-difference {
    padding: 29px 28px;

    border-right: 1px solid var(--epm-border);
    border-bottom: 1px solid var(--epm-border);
}

.epm-area-page .epm-difference h3 {
    font-size: 20px;
}

.epm-area-page .epm-difference p {
    font-size: 14px;
}


/* =========================================================
   LOCAL SEO SECTION
   ========================================================= */

.epm-area-page .epm-local {
    display: grid;
    grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
    gap: 80px;
    align-items: start;
}

.epm-area-page .epm-local__content {
    max-width: 675px;
}


/* =========================================================
   FAQ
   ========================================================= */

.epm-area-page .epm-faq {
    max-width: 100%;
    margin-top: 35px;
}

.epm-area-page details.epm-faq-item {
    border-top: 1px solid var(--epm-border);
}

.epm-area-page details.epm-faq-item:last-child {
    border-bottom: 1px solid var(--epm-border);
}

.epm-area-page details.epm-faq-item summary {
    position: relative;

    padding: 21px 48px 21px 0;

    cursor: pointer;
    list-style: none;

    color: var(--epm-navy);

    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.45;
}

.epm-area-page details.epm-faq-item summary::-webkit-details-marker {
    display: none;
}

.epm-area-page details.epm-faq-item summary::after {
    content: "+";

    position: absolute;
    top: 50%;
    right: 5px;

    color: #9A7C50;

    font-family: "Outfit", sans-serif;
    font-size: 22px;
    font-weight: 300;

    transform: translateY(-50%);
    transition: transform 0.25s ease;
}

.epm-area-page details.epm-faq-item[open] summary::after {
    transform: translateY(-50%) rotate(45deg);
}

.epm-area-page .epm-faq-content {
    max-width: 900px;

    padding: 0 50px 23px 0;

    font-size: 14px;
}


/* =========================================================
   RELATED PROPERTY MANAGEMENT SERVICES
   THREE BOXES PER ROW
   ========================================================= */

.epm-area-page .epm-services {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 16px;

    margin-top: 42px;
}

.epm-area-page .epm-service {
    position: relative;

    min-height: 235px;
    padding: 30px 27px;

    border: 1px solid rgba(255, 255, 255, 0.12);

    background: rgba(255, 255, 255, 0.025);

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.epm-area-page .epm-service:hover {
    border-color: rgba(214, 194, 160, 0.45);
    background: rgba(255, 255, 255, 0.05);

    transform: translateY(-2px);
}

.epm-area-page .epm-service h3 {
    margin-bottom: 12px;

    color: #FFFFFF;

    font-size: 21px;
}

.epm-area-page .epm-service p {
    color: rgba(255, 255, 255, 0.62);

    font-size: 14px;
    line-height: 1.6;
}

.epm-area-page .epm-service a {
    display: inline-block;

    margin-top: 13px;

    color: var(--epm-accent);

    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.03em;

    text-decoration: none;
}

.epm-area-page .epm-service a::after {
    content: " →";
}

.epm-area-page .epm-service a:hover {
    color: #FFFFFF;
}


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

.epm-area-page .epm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 47px;
    padding: 12px 25px;

    border: 1px solid var(--epm-navy);

    background: var(--epm-navy);
    color: #FFFFFF !important;

    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 500;

    text-decoration: none !important;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease;
}

.epm-area-page .epm-btn:hover {
    border-color: var(--epm-accent);

    background: var(--epm-accent);
    color: var(--epm-navy) !important;
}


/* =========================================================
   UTILITIES
   ========================================================= */

.epm-area-page .epm-max-700 {
    max-width: 700px;
}

.epm-area-page .epm-max-800 {
    max-width: 800px;
}

.epm-area-page .epm-max-900 {
    max-width: 900px;
}

.epm-area-page .epm-mt-30 {
    margin-top: 30px;
}

.epm-area-page .epm-mt-40 {
    margin-top: 40px;
}

.epm-section--navy .epm-max-800 {
    color: rgba(255, 255, 255, 0.64);
}

.epm-section--navy .epm-max-800 {
    color: rgba(255, 255, 255, 0.64);
}

.epm-section--navy .epm-process a,
.epm-section--navy .epm-intro__content a,
.epm-section--navy .epm-local__content a {
    color: #D6C2A0; /* matches the existing gold underline */
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .epm-area-page .epm-section {
        padding: 72px 28px;
    }

    .epm-area-page .epm-intro,
    .epm-area-page .epm-local,
    .epm-area-page .epm-benefits {
        gap: 50px;
    }

    .epm-area-page .epm-grid--3,
    .epm-area-page .epm-services {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .epm-area-page .epm-process li {
        grid-template-columns: 55px 210px 1fr;
    }

    .epm-area-page .epm-image-split,
    .epm-area-page .epm-image-split--reverse {
        gap: 45px;
    }

}


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

@media (max-width: 767px) {

    .epm-area-page {
        font-size: 15px;
    }

    .epm-area-page .epm-section {
        padding: 55px 20px;
    }

    .epm-area-page h2 {
        font-size: clamp(30px, 9vw, 40px);
    }

    .epm-area-page h3 {
        font-size: 21px;
    }

    .epm-area-page .epm-intro,
    .epm-area-page .epm-local,
    .epm-area-page .epm-benefits,
    .epm-area-page .epm-image-split,
    .epm-area-page .epm-image-split--reverse {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .epm-area-page .epm-image-split--reverse .epm-image-split__image,
    .epm-area-page .epm-image-split--reverse .epm-image-split__content {
        order: initial;
    }

    .epm-area-page .epm-image-split__image,
    .epm-area-page .epm-image-split__image img {
        min-height: 300px;
    }

    .epm-area-page .epm-grid--2,
    .epm-area-page .epm-grid--3,
    .epm-area-page .epm-feature-grid,
    .epm-area-page .epm-difference-grid,
    .epm-area-page .epm-services {
        grid-template-columns: 1fr;
    }

    .epm-area-page .epm-feature-grid {
        gap: 30px;
    }

    .epm-area-page .epm-card,
    .epm-area-page .epm-service {
        min-height: 0;
    }

    .epm-area-page .epm-process li {
        grid-template-columns: 42px 1fr;
        gap: 7px 15px;

        min-height: 0;
    }

    .epm-area-page .epm-process li::before {
        grid-row: 1 / span 2;
    }

    .epm-area-page .epm-process span {
        grid-column: 2;
    }

}


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

@media (max-width: 480px) {

    .epm-area-page .epm-section {
        padding-right: 18px;
        padding-left: 18px;
    }

    .epm-area-page .epm-card,
    .epm-area-page .epm-service,
    .epm-area-page .epm-difference {
        padding: 25px 20px;
    }

    .epm-area-page details.epm-faq-item summary {
        padding-right: 38px;
    }

}

/* City pages: show process step numbers as 1, 2, 3 instead of 01, 02, 03 */
.epm-area-page .epm-process li::before {
    content: counter(epm-process, decimal);
}