 *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; scroll-padding-top: 96px; }
  body { margin: 0; }
  @keyframes apc-scroll-reviews { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

  /* Fade-in on scroll — only engages when JS is present, so content stays visible without JS */
  html.js [data-fade] { opacity: 0; transform: translateY(24px); }
  html.js [data-fade].in { opacity: 1; transform: none; }

  /* Hover states (converted from component) */
.apc-h0:hover{color:var(--gold-light) !important}
.apc-h1:hover{color:var(--gold-light) !important}
.apc-h2:hover{color:var(--gold-light) !important}
.apc-h3:hover{color:var(--gold-light) !important}
.apc-h4:hover{color:var(--gold-light) !important}
.apc-h5:hover{color:var(--gold-light) !important}
.apc-h6:hover{color:var(--gold-light) !important}
.apc-h7:hover{border-color:var(--gold) !important;color:var(--gold) !important}
.apc-h8:hover{background:var(--gold-light) !important}
.apc-h9:hover{background:var(--gold-light) !important;transform:translateY(-1px) !important}
.apc-h10:hover{border-color:var(--gold) !important;color:var(--gold) !important}
.apc-h11:hover{background:var(--gold-light) !important}
.apc-h12:hover{background:var(--navy) !important;color:var(--gold-light) !important}
.apc-h13:hover{border-color:var(--gold) !important;transform:translateY(-4px) !important;box-shadow:0 12px 40px rgba(201,168,76,0.1) !important}
.apc-h14:hover{border-color:var(--gold) !important;transform:translateY(-4px) !important;box-shadow:0 12px 40px rgba(201,168,76,0.1) !important}
.apc-h15:hover{border-color:var(--gold) !important;transform:translateY(-4px) !important;box-shadow:0 12px 40px rgba(201,168,76,0.1) !important}
.apc-h16:hover{background:var(--gold-light) !important}
.apc-h17:hover{animation-play-state:paused !important}
.apc-h18:hover{background:var(--navy-mid) !important}
.apc-h19:hover{color:var(--gold-light) !important}
.apc-h20:hover{color:var(--gold-light) !important}
.apc-h21:hover{color:var(--gold-light) !important}
.apc-h22:hover{color:var(--gold-light) !important}

.apc{
  font-family:'DM Sans',sans-serif;
  background:var(--warm-white);
  color:var(--text-dark);
  overflow-x:hidden;
  --navy:#0d1b2a;
  --navy-mid:#162336;
  --gold:#c9a84c;
  --gold-light:#e2c27d;
  --cream:#f7f3ee;
  --warm-white:#fdfaf6;
  --text-dark:#1a1a2e;
  --text-mid:#4a5568;
  --text-light:#8a96a8;
  --border:rgba(201,168,76,0.2);
}

/* ===== MENU ===== */

/* Dropdown */
.apc-dropdown {
  position: relative;
}

.apc-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #fff;
  list-style: none;
  margin: 0;
  padding: 10px 0;
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 4px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
  z-index: 999;
}

.apc-dropdown:hover .apc-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.apc-dropdown-menu li {
  margin: 0;
}

.apc-dropdown-menu a {
  display: block;
  padding: 10px 18px;
  color: var(--navy);
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.25s ease, color 0.25s ease;
}

.apc-dropdown-menu a:hover {
  background: rgba(0,0,0,0.05);
  color: var(--gold);
}
.apc-dropdown > a{
  display: flex;
  align-items: center;
  gap: 6px;
}

.apc-dropdown > a::after{
  content: "▾";
  font-size: 16px;
  transition: transform .3s ease;
}

.apc-dropdown:hover > a::after{
  transform: rotate(180deg);
}

/* ===== NAV ===== */
.apc-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0.5rem 4rem;background:rgba(13,27,42,0.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
.apc-nav-logo-link{display:flex;align-items:center;}
.apc-nav-logo-img{height:110px;width:auto;}
.apc-navlinks{display:flex;gap:2.5rem;list-style:none;margin:0;padding:0;}
.apc-navlink{color:rgba(247,243,238,0.75);text-decoration:none;font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase;transition:color 0.2s;}
.apc-nav-actions{display:flex;align-items:center;gap:0.5rem;}
.apc-portal{padding:0.5rem 1.1rem;font-size:0.8rem;letter-spacing:0.06em;text-transform:uppercase;border:1px solid rgba(201,168,76,0.4);color:var(--gold-light);text-decoration:none;border-radius:2px;transition:border-color 0.2s,color 0.2s;}
.apc-navcta{background:var(--gold);color:var(--navy);padding:0.6rem 1.4rem;border-radius:2px;font-size:0.82rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;transition:background 0.2s;white-space:nowrap;}
.apc-burger{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:0.5rem;margin-left:0.25rem;}
.apc-burger-bar{display:block;width:24px;height:2px;background:var(--gold-light);border-radius:2px;}
.apc-mobilemenu{position:absolute;top:100%;left:0;right:0;background:rgba(13,27,42,0.98);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:none;flex-direction:column;padding:0.5rem 1.25rem 1.25rem;opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity 0.25s ease,transform 0.25s ease;}
.apc-mobilelink{color:rgba(247,243,238,0.85);text-decoration:none;font-size:0.9rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.9rem 0.25rem;border-bottom:1px solid rgba(201,168,76,0.1);}
.apc-mobilelink-last{color:rgba(247,243,238,0.85);text-decoration:none;font-size:0.9rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.9rem 0.25rem;border-bottom:1px solid rgba(201,168,76,0.1);}
.apc-mobile-portal{color:var(--gold-light);text-decoration:none;font-size:0.9rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.9rem 0.25rem;}

/* ===== HERO ===== */
.apc-hero{position:relative;overflow:hidden;min-height:100vh;background:var(--navy);display:flex;align-items:center;padding:9rem 4rem 4rem;}
.apc-hero-bg{position:absolute;inset:0;z-index:0;background-image:url('/assets/hero-nashville.jpg');background-size:cover;background-position:center 55%;filter:brightness(0.74) saturate(1.0);}
.apc-hero-scrim1{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(100deg, rgba(8,16,26,0.92) 0%, rgba(8,16,26,0.72) 42%, rgba(8,16,26,0.42) 100%);}
.apc-hero-scrim2{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 50% 70% at 82% 26%, rgba(201,168,76,0.10) 0%, transparent 65%);}
.apc-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:60%;gap:4rem;align-items:center;max-width:1200px;margin:0 auto;width:100%;}
.apc-eyebrow{display:flex;align-items:center;gap:0.75rem;font-size:0.75rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;}
.apc-eyebrow-line{display:block;width:24px;height:1px;background:var(--gold);}
.apc-hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.3rem,3.5vw,3.4rem);font-weight:600;line-height:1.14;color:var(--cream);margin:0 0 1.5rem;}
.apc-em{font-style:italic;color:var(--gold-light);}
.apc-em-gold{font-style:italic;color:var(--gold);}
.apc-hero-sub{font-size:1.35rem;font-weight:500;line-height:1.5;color:var(--gold-light);margin:0 0 1.5rem;}
.apc-hero-desc{font-size:1.2rem;line-height:1.7;color:rgba(247,243,238,0.65);margin:0 0 2.5rem;max-width:560px;}
.apc-hero-btnrow{display:flex;gap:1rem;flex-wrap:wrap;}
.apc-btn-gold{display:inline-block;background:var(--gold);color:var(--navy);padding:0.9rem 2rem;border-radius:2px;font-size:0.95rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;transition:background 0.2s,transform 0.2s;}

/* ===== SHARED SECTION STYLES ===== */
.apc-section-cream{padding:6rem 4rem;background:var(--cream);}
.apc-section-navy{padding:6rem 4rem;background:var(--navy);}
.apc-section-inner{max-width:1200px;margin:0 auto;}
.apc-h2-navy{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:600;line-height:1.2;color:var(--navy);margin:0 0 2rem;max-width:800px;}
.apc-h2-navy-tight{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:600;line-height:1.2;color:var(--navy);margin:0 0 1rem;}
.apc-h2-navy-tight-wide{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:600;line-height:1.2;color:var(--navy);margin:0 0 1rem;max-width:700px;}
.apc-h2-cream{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:600;line-height:1.2;color:var(--cream);margin:0 0 1rem;}
.apc-h2-cream-wide{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:600;line-height:1.2;color:var(--cream);margin:0 0 1rem;max-width:800px;}
.apc-h2-cream-nomargin{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:600;line-height:1.2;color:var(--cream);margin:0;}
.apc-h2-cream-spaced{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:600;line-height:1.2;color:var(--cream);margin:0 0 3.5rem;}
.apc-section-desc{font-size:1.2rem;line-height:1.7;color:var(--text-mid);max-width:660px;}
.apc-section-desc-navy{font-size:1.2rem;line-height:1.7;color:rgba(247,243,238,0.6);max-width:660px;}
.apc-section-desc-navy-700{font-size:1.2rem;line-height:1.7;color:rgba(247,243,238,0.6);max-width:700px;}
.apc-fade{transition:opacity 0.7s ease,transform 0.7s ease;}
.apc-fade-border{transition:opacity 0.7s ease,transform 0.7s ease,border-color 0.3s,box-shadow 0.3s;}

/* ===== INTRO ===== */
.apc-intro-p{font-size:1.1rem;line-height:1.85;color:var(--text-mid);margin:0 0 1.25rem;}
.apc-intro-p-last{font-size:1.1rem;line-height:1.85;color:var(--text-mid);margin:0;}
.apc-intro-quote-box{background:var(--navy);border-radius:4px;padding:2.75rem;border-left:3px solid var(--gold);}
.apc-intro-quote{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-style:italic;line-height:1.6;color:var(--cream);margin:0;}

/* ===== GRID LAYOUTS ===== */
.apc-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;}
.apc-grid-2-center{display:grid;grid-template-columns:1fr 1fr;gap:5rem;margin-top:3rem;}
.apc-grid-2-top{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3.5rem;}
.apc-cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;margin-top:4rem;}
.apc-cards3-2rem{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;}
.apc-cards3-1_5rem{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.apc-cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3.5rem;}
.apc-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1.25rem;margin-top:4rem;}

/* ===== CARD PATTERNS ===== */
.apc-card-navy{position:relative;background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:4px;padding:2.25rem 1.75rem;}
.apc-card-icon{margin-bottom:1.25rem;color:var(--gold);line-height:0;}
.apc-card-title-gold{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--gold-light);margin:0 0 0.75rem;}
.apc-card-desc-navy{font-size:0.95rem;line-height:1.7;color:rgba(247,243,238,0.6);margin:0;}

.apc-card-white{position:relative;border:1px solid rgba(13,27,42,0.1);border-radius:4px;padding:2.5rem 2rem;background:white;}
.apc-card-icon-lg{margin-bottom:1.25rem;color:var(--gold);line-height:0;}
.apc-card-title-navy{font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:var(--navy);margin:0 0 0.75rem;}
.apc-card-desc-mid{font-size:0.95rem;line-height:1.75;color:var(--text-mid);margin:0;}

/* ===== OUTSOURCED SECTION ===== */
.apc-outsourced-p{font-size:1.1rem;line-height:1.8;color:rgba(247,243,238,0.65);margin:0 0 1.25rem;}
.apc-outsourced-p-last{font-size:1.1rem;line-height:1.8;color:rgba(247,243,238,0.65);margin:0;}
.apc-outsourced-box{background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:4px;padding:2.75rem;}
.apc-outsourced-box-title{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--gold-light);margin-bottom:1.5rem;}
.apc-outsourced-list{list-style:none;margin:0;padding:0;}
.apc-outsourced-item{display:flex;gap:0.75rem;align-items:flex-start;padding:0.9rem 0;border-bottom:1px solid rgba(201,168,76,0.1);color:rgba(247,243,238,0.8);font-size:1rem;line-height:1.5;}
.apc-outsourced-item-last{display:flex;gap:0.75rem;align-items:flex-start;padding:0.9rem 0;color:rgba(247,243,238,0.8);font-size:1rem;line-height:1.5;}
.apc-outsourced-bullet{color:var(--gold);font-size:0.7rem;margin-top:0.35rem;flex-shrink:0;}

/* ===== PROCESS STEPS ===== */
.apc-step-card{position:relative;background:white;border:1px solid rgba(13,27,42,0.1);border-radius:4px;padding:2rem 1.5rem;}
.apc-step-num{display:block;font-family:'Cormorant Garamond',serif;font-size:2.5rem;color:var(--gold);line-height:1;margin-bottom:1rem;}
.apc-step-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--navy);margin:0 0 0.6rem;}
.apc-step-desc{font-size:0.9rem;line-height:1.65;color:var(--text-mid);margin:0;}

/* ===== WHY US LISTS ===== */
.apc-whyus-list{list-style:none;margin:0;padding:0;}
.apc-whyus-item{padding:1.5rem 0;border-bottom:1px solid rgba(13,27,42,0.08);}
.apc-whyus-item-last{padding:1.5rem 0;}
.apc-whyus-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--navy);margin:0 0 0.4rem;}
.apc-whyus-desc{font-size:0.95rem;line-height:1.7;color:var(--text-mid);margin:0;}

/* ===== RELATED SERVICES ===== */
.apc-related-card{display:flex;flex-direction:column;text-decoration:none;background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:4px;padding:2rem 1.5rem;}
.apc-related-title{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--gold-light);margin:0 0 0.75rem;}
.apc-related-desc{font-size:0.9rem;line-height:1.65;color:rgba(247,243,238,0.6);margin:0 0 1.25rem;}
.apc-related-link{margin-top:auto;font-size:0.8rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:0.4rem;transition:gap 0.2s,color 0.2s;}

/* ===== CTA ===== */
.apc-cta{background:var(--gold);padding:5rem 4rem;text-align:center;}
.apc-cta-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);color:var(--navy);margin:0 0 1rem;font-weight:600;}
.apc-cta-desc{font-size:1.2rem;color:rgba(13,27,42,0.7);margin:0 auto 2.5rem;max-width:560px;line-height:1.7;}
.apc-cta-btn{display:inline-block;background:var(--navy);color:var(--gold-light);padding:1rem 2.5rem;border-radius:2px;font-size:0.95rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;transition:background 0.2s;}

/* ===== REVIEWS ===== */
.apc-reviews-section{padding:6rem 4rem;background:var(--navy);overflow:hidden;}
.apc-reviews-track-wrap{margin-top:3rem;position:relative;}
.apc-reviews-fade-left{position:absolute;top:0;bottom:0;left:0;width:80px;z-index:2;pointer-events:none;background:linear-gradient(to right,var(--navy),transparent);}
.apc-reviews-fade-right{position:absolute;top:0;bottom:0;right:0;width:80px;z-index:2;pointer-events:none;background:linear-gradient(to left,var(--navy),transparent);}
.apc-reviews-track{display:flex;gap:2rem;width:max-content;animation:apc-scroll-reviews 22s linear infinite;}
.apc-reviewcard{background:rgba(255,255,255,0.05);border:1px solid var(--border);border-radius:4px;padding:2rem;width:340px;flex-shrink:0;}
.apc-review-stars{color:var(--gold);font-size:0.95rem;letter-spacing:0.1em;margin-bottom:1rem;}
.apc-review-quote{font-size:0.95rem;line-height:1.75;color:rgba(247,243,238,0.75);margin:0 0 1.25rem;font-style:italic;}
.apc-review-author{font-size:0.8rem;color:var(--gold);letter-spacing:0.06em;text-transform:uppercase;}

/* ===== FAQ ===== */
.apc-faq-section{padding:6rem 4rem;background:var(--warm-white);}
.apc-faq-list{display:flex;flex-direction:column;gap:1rem;}
.apc-faq-item{background:#fff;border:1px solid rgba(13,27,42,.08);padding:1.5rem 2rem;border-radius:4px;}
.apc-faq-summary{cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:1.45rem;color:var(--navy);font-weight:600;}
.apc-faq-answer{margin-top:1rem;color:var(--text-mid);line-height:1.8;}

/* ===== FOOTER ===== */
.apc-footer{background:var(--navy);color:rgba(247,243,238,0.5);padding:4rem 4rem 2.5rem;border-top:1px solid var(--border);}
.apc-footgrid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;align-items:start;}
.apc-foot-logo{height:90px;width:auto;margin-bottom:1rem;}
.apc-foot-desc{font-size:0.95rem;line-height:1.7;color:rgba(247,243,238,0.5);margin:0;max-width:300px;}
.apc-foot-heading{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--gold-light);margin-bottom:1.1rem;}
.apc-foot-linkcol{display:flex;flex-direction:column;gap:0.7rem;}
.apc-foot-link{font-size:0.85rem;color:rgba(247,243,238,0.5);text-decoration:none;transition:color 0.2s;}
.apc-foot-bottom{max-width:1200px;margin:2.5rem auto 0;padding-top:1.75rem;border-top:1px solid rgba(201,168,76,0.12);font-size:0.78rem;color:rgba(247,243,238,0.35);}


/* Tablet */
@media (max-width: 991px) {
    .apc-cards3, .apc-cards4, .apc-steps {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .apc-cards3, .apc-cards4, .apc-steps {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
        margin-top: 2.5rem !important;
    }

    .apc-cards3 h3 {
        font-size: 1.15rem !important;
    }

    .apc-cards3 p {
        font-size: 0.95rem !important;
        line-height: 1.7 !important;
    }

    .apc-cards3 svg {
        width: 28px;
        height: 28px;
    }
}

/* Small Mobile */
@media (max-width: 480px) {
    .apc-cards3 > div {
        padding: 1.5rem 1.25rem !important;
    }

    .apc-cards3 h3 {
        font-size: 1.05rem !important;
    }

    .apc-cards3 p {
        font-size: 0.9rem !important;
    }
}
  @media (max-width: 860px) {
    .apc nav { padding: 0.25rem 1.1rem !important; }
    .apc nav img { height: 58px !important; }
    .apc-navlinks { display: none !important; }
    .apc-portal { display: none !important; }
    .apc-burger { display: flex !important; }
    .apc-navcta { padding: 0.5rem 0.9rem !important; font-size: 0.72rem !important; }
    .apc-mobilemenu { display: flex !important; }
    .apc section { padding-left: 1.25rem !important; padding-right: 1.25rem !important; padding-top: 3.5rem !important; padding-bottom: 3.5rem !important; }
    .apc #home { padding: 5.5rem 1.25rem 3.5rem !important; min-height: 0 !important; }
    .apc-grid { grid-template-columns: 1fr !important; gap: 2.25rem !important; }
    .apc-cards { grid-template-columns: 1fr 1fr !important; gap: 1.25rem !important; }
    .apc-pad { padding: 1.75rem !important; }
    .apc footer { padding: 3rem 1.25rem 2rem !important; }
    .apc-footgrid { grid-template-columns: 1fr !important; gap: 2rem !important; }
    .apc-foundercard { flex-direction: column !important; text-align: center !important; gap: 1.1rem !important; }
  }
  @media (max-width: 560px) {
    .apc-cards { grid-template-columns: 1fr !important; }
    .apc h1 { font-size: 2.5rem !important; }
    .apc-reviewcard { width: 80vw !important; }
  }
