/* ==========================================================================
   Pulse Moments — DARK LUXURY THEME (master override, loads last)
   Near-black canvas · navy cards · gold accents · white/cream text.
   Rule: any dark surface → light text. Forbes/Vogue editorial luxury.
   ========================================================================== */
:root {
  --d-bg:      #0d1117;   /* page canvas (near-black) */
  --d-bg-2:    #11161f;   /* alt section band */
  --d-card:    #1c2333;   /* navy card */
  --d-card-2:  #232c40;   /* raised navy */
  --d-line:    rgba(201,162,75,.16);
  --d-line-2:  rgba(255,255,255,.07);
  --d-gold:    #c9a24b;
  --d-gold-2:  #e2c074;
  --d-text:    #f5efe0;   /* cream — primary text */
  --d-text-2:  #c8cdd8;   /* muted body */
  --d-text-3:  #8a93a6;   /* labels / meta */
}

/* ---------- Global canvas + text ---------- */
html, body { background: var(--d-bg) !important; }
body, p, li, td, th, span, .entry-content, .entry-summary p { color: var(--d-text-2); }
h1,h2,h3,h4,h5,h6 { color: var(--d-text) !important; }
a { color: var(--d-gold); }
a:hover { color: var(--d-gold-2); }

/* WP/Kadence content shells → transparent so canvas shows */
#wrapper, .content-area, .content-bg, .site-container, .entry-content-wrap,
.entry.single-entry, .entry.loop-entry, .single-entry, #inner-wrap, #main,
.content-container, .site, .site-main {
  background: transparent !important; box-shadow: none !important;
}

/* ---------- Section backgrounds (homepage) ---------- */
.pm-sec:not(.pm-sec--dark),
.pm-sec:not(.pm-sec--dark) + .pm-sec:not(.pm-sec--dark) { background: var(--d-bg) !important; }
.pm-sec--dark { background: linear-gradient(180deg, var(--d-bg-2), var(--d-bg)) !important; }
.pm-sec h2.pm-h, .pm-sec .pm-h { color: var(--d-text) !important; }
.pm-sec .pm-sub { color: var(--d-text-3) !important; }

/* ---------- Feature cards ---------- */
.pm-feature {
  background: linear-gradient(160deg, var(--d-card), var(--d-card-2)) !important;
  border: 1px solid var(--d-line) !important;
  box-shadow: 0 24px 50px -30px rgba(0,0,0,.8) !important;
}
.pm-feature:hover { border-color: rgba(201,162,75,.55) !important; box-shadow: 0 30px 60px -28px rgba(201,162,75,.25) !important; }
.pm-feature h3 { color: var(--d-text) !important; }
.pm-feature p  { color: var(--d-text-2) !important; }

/* ---------- Pricing ---------- */
.pm-plan {
  background: linear-gradient(160deg, var(--d-card), var(--d-card-2)) !important;
  border: 1px solid var(--d-line) !important;
  box-shadow: 0 24px 50px -30px rgba(0,0,0,.8) !important;
}
.pm-plan.rec { box-shadow: 0 30px 70px -30px rgba(201,162,75,.45), 0 0 0 2px rgba(201,162,75,.45) !important; }
.pm-plan h3 { color: var(--d-text) !important; }
.pm-plan .desc { color: var(--d-text-3) !important; }
.pm-plan li { color: var(--d-text-2) !important; }
.pm-price { color: var(--d-text) !important; }
.pm-price small { color: var(--d-text-3) !important; }
.pm-btn--ghost { color: var(--d-text) !important; border-color: rgba(201,162,75,.5) !important; }
.pm-btn--ghost:hover { background: var(--d-gold) !important; color: var(--d-bg) !important; }
.pm-switch { background: #3a3f4d; }

/* ---------- Testimonials ---------- */
.pm-tcard {
  background: linear-gradient(160deg, var(--d-card), var(--d-card-2)) !important;
  border: 1px solid var(--d-line) !important;
}
.pm-tcard h4 { color: var(--d-text) !important; }
.pm-tcard p  { color: var(--d-text-2) !important; }
.pm-tcard .role { color: var(--d-text-3) !important; }

/* ---------- Hero ---------- */
.pm-hero3d { background: radial-gradient(120% 100% at 80% 0%, #1c2333 0%, #11161f 55%, #0d1117 100%) !important; }
.pm-hero3d__text p { color: var(--d-text-2) !important; }

/* =========================================================
   INNER PAGES (pages.css surfaces → dark)
   ========================================================= */
.pg-sec-head h2 { color: var(--d-text) !important; }
.pg-sec-head h2 em { color: var(--d-gold) !important; }
.pg-sec-head p { color: var(--d-text-3) !important; }

/* About */
.pg-mission { background: var(--d-bg) !important; }
.pg-mission__text h2 { color: var(--d-text) !important; }
.pg-mission__text p  { color: var(--d-text-2) !important; }
.pg-mstat { background: var(--d-card) !important; border-color: var(--d-line) !important; }
.pg-mstat strong { color: var(--d-gold) !important; }
.pg-mstat span { color: var(--d-text-3) !important; }
.pg-values { background: var(--d-bg-2) !important; }
.pg-val { background: var(--d-card) !important; border-color: var(--d-line) !important; }
.pg-val h3 { color: var(--d-text) !important; }
.pg-val p  { color: var(--d-text-2) !important; }
.pg-verticals { background: linear-gradient(180deg, var(--d-bg-2), var(--d-bg)) !important; }
.pg-cta-band { background: var(--d-bg) !important; }
.pg-cta-band__inner h2, .pg-cta-band h2 { color: var(--d-text) !important; }
.pg-cta-band__inner p,  .pg-cta-band p  { color: var(--d-text-3) !important; }
.pg-cta-band .pm-btn--ghost { border-color: rgba(201,162,75,.5) !important; color: var(--d-text) !important; }
.pg-cta-band .pm-btn--ghost:hover { background: var(--d-gold) !important; color: var(--d-bg) !important; }

/* Contact */
.pg-contact { background: var(--d-bg) !important; }
.pg-contact__form {
  background: linear-gradient(160deg, var(--d-card), var(--d-card-2)) !important;
  border-color: var(--d-line) !important;
}
.pg-contact__form h3 { color: var(--d-text) !important; }
.pg-contact__form > p { color: var(--d-text-3) !important; }
.pg-contact__form label { color: var(--d-text-2) !important; }
.pg-contact__form input, .pg-contact__form textarea, .pg-contact__form select {
  background: #0f141d !important; border-color: rgba(255,255,255,.12) !important; color: var(--d-text) !important;
}
.pg-contact__form input:focus, .pg-contact__form textarea:focus {
  background: #0f141d !important; border-color: var(--d-gold) !important;
}
.pg-contact__form ::placeholder { color: #6b7280 !important; }
.pg-cinfo-card { background: var(--d-card) !important; border-color: var(--d-line) !important; }
.pg-cinfo-card h4 { color: var(--d-text) !important; }
.pg-cinfo-card p  { color: var(--d-text-2) !important; }
.pg-cinfo-card p a { color: var(--d-gold) !important; }
.pg-cinfo-card span { color: var(--d-text-3) !important; }

/* Inner-page body copy / headings */
body:not(.home) .entry-content { color: var(--d-text-2) !important; }
body:not(.home) .entry-content h2,
body:not(.home) .entry-content h3 { color: var(--d-text) !important; }
body:not(.home) .entry-content ul li { color: var(--d-text-2) !important; border-bottom-color: var(--d-line-2) !important; }
.page .entry-content-wrap p { color: var(--d-text-2) !important; }
.page .entry-content-wrap h2, .page .entry-content-wrap h3 { color: var(--d-text) !important; }

/* =========================================================
   BLOG ARCHIVE + SIDEBAR
   ========================================================= */
.pm-cat-filter { border-bottom-color: var(--d-line) !important; }
.pm-cat-filter a { background: var(--d-card) !important; border-color: var(--d-line) !important; color: var(--d-text-2) !important; }
.pm-cat-filter a:hover, .pm-cat-filter a.active { background: var(--d-gold) !important; color: var(--d-bg) !important; border-color: var(--d-gold) !important; }

.blog .loop-entry, .archive .loop-entry, .pm-blog-main .loop-entry {
  background: linear-gradient(160deg, var(--d-card), var(--d-card-2)) !important;
  border: 1px solid var(--d-line) !important;
  box-shadow: 0 18px 44px -26px rgba(0,0,0,.8) !important;
}
.blog .loop-entry:hover, .archive .loop-entry:hover { box-shadow: 0 30px 60px -24px rgba(201,162,75,.22) !important; }
.loop-entry .entry-title, .loop-entry .entry-title a,
.blog .loop-entry .entry-title a, .archive .loop-entry .entry-title a { color: var(--d-text) !important; }
.blog .loop-entry .entry-title a:hover, .archive .loop-entry .entry-title a:hover { color: var(--d-gold) !important; }
.loop-entry .entry-meta, .loop-entry .entry-meta a { color: var(--d-text-3) !important; }
.loop-entry .entry-summary p { color: var(--d-text-2) !important; }

.pm-sidebar-widget { background: var(--d-card) !important; border-color: var(--d-line) !important; }
.pm-sidebar-widget h4 { color: var(--d-text) !important; border-bottom-color: var(--d-line) !important; }
.pm-sidebar-cat-list a { color: var(--d-text-2) !important; }
.pm-sidebar-cat-list a:hover { background: rgba(201,162,75,.12) !important; color: var(--d-gold) !important; }
.pm-sidebar-cat-list a span.cnt { background: rgba(255,255,255,.08) !important; color: var(--d-text-3) !important; }
.pm-sidebar-recent .info a { color: var(--d-text) !important; }
.pm-sidebar-recent .info a:hover { color: var(--d-gold) !important; }
.pm-sidebar-recent .date { color: var(--d-text-3) !important; }
.pm-sidebar-recent .thumb { background: #0f141d !important; }

/* =========================================================
   SINGLE POST
   ========================================================= */
.single .entry-content, .single-content { color: var(--d-text-2) !important; }
.single .entry-content a:not([class*="btn"]):not([class*="cta"]):not([class*="card"]):not(.wp-block-button__link),
body:not(.home) .entry-content a:not([class*="btn"]):not([class*="cta"]):not([class*="card"]):not(.wp-block-button__link),
.single-content a:not([class*="btn"]):not([class*="cta"]):not([class*="card"]) {
  color: var(--d-gold) !important; text-decoration-color: rgba(201,162,75,.5) !important;
}
.single .entry-content a:hover, .single-content a:hover { color: var(--d-gold-2) !important; }
blockquote { color: var(--d-text) !important; border-left-color: var(--d-gold) !important; }
.single .entry-meta, .single .entry-meta a, .entry-taxonomies, .entry-taxonomies a { color: var(--d-text-3) !important; }

/* =========================================================
   SERVICE INNER PAGES
   ========================================================= */
.pm-svc-intro { background: linear-gradient(160deg, var(--d-bg-2), var(--d-bg)) !important; border-bottom-color: var(--d-line) !important; }
.pm-svc-intro__text { color: var(--d-text-2) !important; }
.pm-svc-includes { background: var(--d-bg) !important; }
.pm-svc-includes__list h2 { color: var(--d-text) !important; }
.pm-svc-list li { color: var(--d-text-2) !important; border-bottom-color: var(--d-line-2) !important; }
.pm-svc-process { background: var(--d-bg-2) !important; }
.pm-svc-process__h { color: var(--d-text) !important; }
.pm-svc-step { background: var(--d-card) !important; border-color: var(--d-line) !important; }
.pm-svc-step h3 { color: var(--d-text) !important; }
.pm-svc-step p  { color: var(--d-text-2) !important; }
.pm-svc-proof { background: var(--d-bg) !important; }
.pm-svc-final-cta { background: linear-gradient(180deg, var(--d-bg-2), var(--d-bg)) !important; }
.pm-svc-final-cta h2 { color: var(--d-text) !important; }
.pm-svc-final-cta p  { color: var(--d-text-3) !important; }
.pm-svc-cta--ghost { border-color: rgba(201,162,75,.5) !important; color: var(--d-text) !important; }
.pm-svc-cta--ghost:hover { background: var(--d-gold) !important; color: var(--d-bg) !important; }

/* Services parent page cards */
.page-id-25 .wp-block-group.has-border-color {
  background: linear-gradient(160deg, var(--d-card), var(--d-card-2)) !important;
  border-color: var(--d-line) !important;
}
.page-id-25 h3.wp-block-heading a { color: var(--d-text) !important; }
.page-id-25 h3.wp-block-heading a:hover { color: var(--d-gold) !important; }
.page-id-25 .entry-content p, .page-id-25 .wp-block-group p { color: var(--d-text-2) !important; }

/* =========================================================
   GUTENBERG BLOCKS (any leftover) → dark-safe
   ========================================================= */
.wp-block-group:not(.has-background) { background: transparent !important; }
.wp-block-latest-posts__post-title, .wp-block-latest-posts__post-title a { color: var(--d-text) !important; }
.wp-block-latest-posts__post-date, .wp-block-latest-posts__post-excerpt { color: var(--d-text-3) !important; }
.wp-block-quote { color: var(--d-text) !important; }
.wp-block-table td, .wp-block-table th { border-color: var(--d-line-2) !important; color: var(--d-text-2) !important; }

/* Pagination / buttons baseline */
.pagination a, .pagination .current, .nav-links a {
  background: var(--d-card) !important; color: var(--d-text) !important; border-color: var(--d-line) !important;
}
.pagination .current, .nav-links a:hover { background: var(--d-gold) !important; color: var(--d-bg) !important; }

/* Comments */
.comment-respond, #respond { color: var(--d-text-2) !important; }
.comment-form input, .comment-form textarea {
  background: #0f141d !important; border: 1.5px solid rgba(255,255,255,.12) !important; color: var(--d-text) !important;
}

/* Safety net: anything explicitly white-bg in inline styles stays readable */
[style*="background:#fff"], [style*="background: #fff"],
[style*="background-color:#fff"], [style*="background-color: #fff"] { color: #2a2f3a; }

/* =========================================================
   INNER-PAGE HERO — force dark (Kadence was overriding pages.css)
   guarantees cream title is on a dark surface, not invisible
   ========================================================= */
body:not(.home) .entry-hero,
body:not(.home) .page-hero-section,
body:not(.home) .entry-hero.page-hero-section {
  background: linear-gradient(135deg, #11161f 0%, #1c2333 55%, #232c40 100%) !important;
}
html body:not(.home) .entry-hero .entry-title,
html body:not(.home) .page-hero-section .entry-title,
html body:not(.home) .entry-hero h1.entry-title { color: var(--d-text) !important; }
body:not(.home) .entry-hero .entry-title::after { background: linear-gradient(90deg,#c9a24b,#e2c074) !important; }
body:not(.home) .entry-hero .kadence-breadcrumbs,
body:not(.home) .entry-hero .kadence-breadcrumbs span { color: rgba(245,239,224,.55) !important; }
body:not(.home) .entry-hero .kadence-breadcrumbs a { color: var(--d-gold) !important; }

/* Catch-all: any section that's still a light Kadence/paper surface
   with our white text — flip its bg dark so text stays readable */
.has-cream-background-color, .has-paper-background-color,
[class*="has-base-background"], .wp-block-group.has-background.has-light-gray-background-color {
  background: var(--d-card) !important;
}

/* =========================================================
   LATEST STORIES — premium editorial (magazine layout)
   ========================================================= */
.pm-latest { background: linear-gradient(180deg, var(--d-bg) 0%, var(--d-bg-2) 100%) !important; }
.pm-latest__eyebrow {
  display: block; text-align: center; font-size: 12px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase; color: var(--d-gold); margin-bottom: 12px;
}
.pm-latest__grid {
  display: grid; grid-template-columns: 1.35fr 1fr; gap: 30px; margin-top: 46px; align-items: stretch;
}

/* shared card chrome */
.pm-story { display: block; text-decoration: none; color: inherit; border-radius: 20px; overflow: hidden; }

/* ---- Featured card ---- */
.pm-story--feature {
  position: relative; background: linear-gradient(160deg, var(--d-card), var(--d-card-2));
  border: 1px solid var(--d-line); display: flex; flex-direction: column;
  box-shadow: 0 30px 64px -34px rgba(0,0,0,.85); transition: transform .35s, box-shadow .35s, border-color .35s;
}
.pm-story--feature:hover { transform: translateY(-6px); border-color: rgba(201,162,75,.5); box-shadow: 0 40px 80px -34px rgba(201,162,75,.28); }
.pm-story__media { position: relative; aspect-ratio: 16/9; overflow: hidden; }
.pm-story__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.pm-story--feature:hover .pm-story__media img { transform: scale(1.06); }
.pm-story__cat {
  position: absolute; top: 16px; left: 16px; z-index: 2;
  background: linear-gradient(135deg, var(--d-gold), var(--d-gold-2)); color: var(--d-bg) !important;
  font-size: 11px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase;
  padding: 6px 13px; border-radius: 999px; box-shadow: 0 8px 20px -8px rgba(201,162,75,.6);
}
.pm-story__body { padding: 26px 28px 30px; }
.pm-story__title {
  font-family: var(--pm-display, 'Fraunces', Georgia, serif); font-size: 27px; font-weight: 600;
  line-height: 1.18; color: var(--d-text) !important; margin: 0 0 12px; transition: color .25s;
}
.pm-story--feature:hover .pm-story__title { color: var(--d-gold-2) !important; }
.pm-story__excerpt { font-size: 15px; line-height: 1.65; color: var(--d-text-2) !important; margin: 0 0 18px; }
.pm-story__meta { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.pm-story__date { color: var(--d-text-3) !important; }
.pm-story__dot { width: 4px; height: 4px; border-radius: 50%; background: var(--d-gold); }
.pm-story__read { color: var(--d-gold) !important; font-weight: 700; }

/* ---- Side list ---- */
.pm-latest__list { display: flex; flex-direction: column; gap: 16px; }
.pm-story--mini {
  display: grid; grid-template-columns: 104px 1fr; gap: 16px; align-items: center;
  background: linear-gradient(160deg, var(--d-card), var(--d-card-2));
  border: 1px solid var(--d-line); border-radius: 16px; padding: 12px;
  transition: transform .3s, border-color .3s, box-shadow .3s; flex: 1;
}
.pm-story--mini:hover { transform: translateX(5px); border-color: rgba(201,162,75,.5); box-shadow: 0 18px 40px -26px rgba(201,162,75,.25); }
.pm-story__thumb { width: 104px; height: 78px; border-radius: 11px; overflow: hidden; flex: 0 0 104px; }
.pm-story__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.pm-story--mini:hover .pm-story__thumb img { transform: scale(1.08); }
.pm-story__mini-body { min-width: 0; }
.pm-story__cat--mini {
  position: static; display: inline-block; background: none; box-shadow: none; padding: 0;
  color: var(--d-gold) !important; font-size: 10.5px; letter-spacing: 1px; margin-bottom: 5px;
}
.pm-story__mini-title {
  font-family: var(--pm-display, 'Fraunces', Georgia, serif); font-size: 15.5px; font-weight: 600;
  line-height: 1.3; color: var(--d-text) !important; margin: 0 0 5px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .25s;
}
.pm-story--mini:hover .pm-story__mini-title { color: var(--d-gold-2) !important; }

.pm-latest__cta { text-align: center; margin-top: 40px; }
.pm-latest__cta .pm-btn--ghost {
  display: inline-block; width: auto; padding: 13px 34px; border-radius: 12px;
  border: 1.5px solid rgba(201,162,75,.5) !important; color: var(--d-text) !important; font-weight: 700;
}
.pm-latest__cta .pm-btn--ghost:hover { background: var(--d-gold) !important; color: var(--d-bg) !important; }

@media (max-width: 880px) {
  .pm-latest__grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .pm-story__title { font-size: 22px; }
  .pm-story--mini { grid-template-columns: 84px 1fr; }
  .pm-story__thumb { width: 84px; height: 64px; flex-basis: 84px; }
}

/* =========================================================
   GOLD CTA BUTTONS — keep text readable + premium hover
   (global a:hover was turning button text gold-on-gold)
   ========================================================= */
/* Default state: dark text on gold */
.pm-hero3d__btns .pm-btn--solid,
.pm-header__cta,
.pm-svc-cta, .pm-svc-cta--big,
.pm-svc-price-card__cta,
.pm-sidebar-cta a,
.pg-contact__form .wpcf7-submit { color: var(--d-bg) !important; }

/* Hover: invert to navy bg + gold text (clean colour change, always legible) */
.pm-hero3d__btns .pm-btn--solid:hover,
.pm-header__cta:hover,
.pm-svc-cta:hover, .pm-svc-cta--big:hover,
.pm-svc-price-card__cta:hover,
.pm-sidebar-cta a:hover {
  background: linear-gradient(135deg, #1c2333, #11161f) !important;
  color: var(--d-gold-2) !important;
  box-shadow: 0 14px 34px -12px rgba(201,162,75,.55), inset 0 0 0 1.5px rgba(201,162,75,.6) !important;
  transform: translateY(-2px);
}
.pg-contact__form .wpcf7-submit:hover {
  background: linear-gradient(135deg, #1c2333, #11161f) !important;
  color: var(--d-gold-2) !important;
}

/* =========================================================
   ABOUT PAGE — new sections (About Company / Why / Clients)
   ========================================================= */
/* About the company */
.pg-about-co { padding: 88px 0; background: var(--d-bg) !important; }
.pg-about-co__inner { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: center; }
.pg-about-co__media { position: relative; }
.pg-about-co__media img {
  width: 100%; border-radius: 22px; display: block;
  border: 1px solid var(--d-line); box-shadow: 0 36px 80px -36px rgba(0,0,0,.9);
  filter: saturate(.92) contrast(1.02);
}
.pg-about-co__badge {
  position: absolute; bottom: -22px; right: -14px;
  background: linear-gradient(160deg, var(--d-card), var(--d-card-2));
  border: 1px solid rgba(201,162,75,.4); border-radius: 16px; padding: 16px 22px;
  box-shadow: 0 24px 50px -24px rgba(0,0,0,.85); text-align: center;
}
.pg-about-co__badge strong { display: block; font-family: 'Fraunces',Georgia,serif; font-size: 22px; color: var(--d-gold); line-height: 1; }
.pg-about-co__badge span { display: block; font-size: 11px; letter-spacing: .5px; color: var(--d-text-3); margin-top: 5px; }
.pg-about-co__text h2 { font-family: 'Fraunces',Georgia,serif; font-size: 36px; font-weight: 700; color: var(--d-text) !important; line-height: 1.15; margin: 10px 0 20px; }
.pg-about-co__text h2 em { font-style: italic; color: var(--d-gold); }
.pg-about-co__text p { font-size: 16px; line-height: 1.75; color: var(--d-text-2) !important; margin: 0 0 16px; }
.pg-about-co__text p strong { color: var(--d-text); }
.pg-about-co__points { list-style: none; padding: 0; margin: 22px 0 0; }
.pg-about-co__points li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; color: var(--d-text-2) !important; padding: 9px 0; border-bottom: 1px solid var(--d-line-2); }
.pg-about-co__points li:last-child { border-bottom: none; }
.pg-chk { color: var(--d-gold); font-size: 14px; margin-top: 2px; flex: 0 0 auto; }

/* Why choose us */
.pg-why { padding: 88px 0; background: var(--d-bg-2) !important; }
.pg-why-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.pg-why-card {
  position: relative; background: linear-gradient(160deg, var(--d-card), var(--d-card-2));
  border: 1px solid var(--d-line); border-radius: 20px; padding: 32px 26px 28px;
  box-shadow: 0 24px 50px -32px rgba(0,0,0,.8); transition: transform .35s, border-color .35s, box-shadow .35s;
  overflow: hidden;
}
.pg-why-card::before {
  content: ''; position: absolute; inset: 0 auto auto 0; width: 3px; height: 0;
  background: linear-gradient(180deg, var(--d-gold), var(--d-gold-2)); transition: height .35s;
}
.pg-why-card:hover { transform: translateY(-7px); border-color: rgba(201,162,75,.5); box-shadow: 0 34px 64px -30px rgba(201,162,75,.25); }
.pg-why-card:hover::before { height: 100%; }
.pg-why-card__num { font-family: 'Fraunces',Georgia,serif; font-size: 34px; font-weight: 700; color: rgba(201,162,75,.45); line-height: 1; }
.pg-why-card h3 { font-family: 'Fraunces',Georgia,serif; font-size: 19px; font-weight: 600; color: var(--d-text) !important; margin: 14px 0 10px; }
.pg-why-card p { font-size: 14.5px; line-height: 1.65; color: var(--d-text-2) !important; margin: 0; }

/* Clients / dummy logos */
.pg-clients { padding: 88px 0; background: var(--d-bg) !important; }
.pg-logos-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 18px; }
.pg-logo {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  padding: 30px 18px; border-radius: 16px;
  background: rgba(255,255,255,.03); border: 1px solid var(--d-line-2);
  color: var(--d-text-3); transition: transform .3s, color .3s, border-color .3s, background .3s;
}
.pg-logo svg { width: 34px; height: 34px; opacity: .8; transition: color .3s, opacity .3s; }
.pg-logo__name { font-family: 'Fraunces',Georgia,serif; font-size: 15px; font-weight: 600; letter-spacing: .3px; }
.pg-logo:hover {
  transform: translateY(-5px); color: var(--d-gold) !important;
  background: rgba(201,162,75,.07); border-color: rgba(201,162,75,.4);
}
.pg-logo:hover svg { opacity: 1; }
.pg-clients__note { text-align: center; margin-top: 30px; font-size: 14px; color: var(--d-text-3) !important; }

@media (max-width: 920px) {
  .pg-about-co__inner { grid-template-columns: 1fr; gap: 40px; }
  .pg-why-grid { grid-template-columns: 1fr 1fr; }
  .pg-logos-grid { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 560px) {
  .pg-why-grid { grid-template-columns: 1fr; }
  .pg-logos-grid { grid-template-columns: 1fr 1fr; }
  .pg-about-co__text h2 { font-size: 28px; }
}

/* =========================================================
   SERVICES LANDING (parent page) — premium redesign
   ========================================================= */
.pm-svcs-intro { padding: 70px 0 10px; background: var(--d-bg) !important; }
.pm-svcs-grid-sec { padding: 30px 0 80px; background: var(--d-bg) !important; }
.pm-svcs-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.pm-svc-card {
  display: flex; flex-direction: column; text-decoration: none;
  background: linear-gradient(160deg, var(--d-card), var(--d-card-2));
  border: 1px solid var(--d-line); border-radius: 22px; padding: 30px 28px;
  box-shadow: 0 26px 56px -34px rgba(0,0,0,.85);
  transition: transform .35s, border-color .35s, box-shadow .35s; position: relative; overflow: hidden;
}
.pm-svc-card::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--d-gold), var(--d-gold-2)); transform: scaleX(0); transform-origin: left; transition: transform .4s;
}
.pm-svc-card:hover { transform: translateY(-8px); border-color: rgba(201,162,75,.5); box-shadow: 0 40px 78px -32px rgba(201,162,75,.28); }
.pm-svc-card:hover::after { transform: scaleX(1); }
.pm-svc-card__icon {
  width: 56px; height: 56px; border-radius: 16px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(140deg, #11161f, #232c40); color: var(--d-gold);
  box-shadow: inset 0 0 0 1px rgba(201,162,75,.35), 0 12px 26px -14px rgba(0,0,0,.7); margin-bottom: 20px;
}
.pm-svc-card__title { font-family: 'Fraunces',Georgia,serif; font-size: 21px; font-weight: 600; color: var(--d-text) !important; margin: 0 0 10px; transition: color .25s; }
.pm-svc-card:hover .pm-svc-card__title { color: var(--d-gold-2) !important; }
.pm-svc-card__tag { font-size: 14.5px; line-height: 1.6; color: var(--d-text-2) !important; margin: 0 0 22px; flex: 1; }
.pm-svc-card__foot { display: flex; align-items: center; justify-content: space-between; padding-top: 18px; border-top: 1px solid var(--d-line-2); }
.pm-svc-card__price { font-size: 13px; color: var(--d-text-3) !important; }
.pm-svc-card__price strong { font-family: 'Fraunces',Georgia,serif; font-size: 19px; color: var(--d-gold) !important; font-weight: 700; }
.pm-svc-card__price small { font-size: 12px; }
.pm-svc-card__arrow {
  width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: rgba(201,162,75,.12); color: var(--d-gold); border: 1px solid rgba(201,162,75,.3);
  transition: background .3s, color .3s, transform .3s;
}
.pm-svc-card:hover .pm-svc-card__arrow { background: var(--d-gold); color: var(--d-bg); transform: translateX(3px); }

/* How we work */
.pm-svcs-how { padding: 84px 0; background: var(--d-bg-2) !important; }
.pm-svcs-steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; counter-reset: step; }
.pm-svcs-step {
  background: linear-gradient(160deg, var(--d-card), var(--d-card-2));
  border: 1px solid var(--d-line); border-radius: 20px; padding: 30px 24px;
  box-shadow: 0 22px 48px -32px rgba(0,0,0,.8); transition: transform .3s, border-color .3s; position: relative;
}
.pm-svcs-step:hover { transform: translateY(-6px); border-color: rgba(201,162,75,.45); }
.pm-svcs-step__num { font-family: 'Fraunces',Georgia,serif; font-size: 30px; font-weight: 700; color: rgba(201,162,75,.5); line-height: 1; }
.pm-svcs-step h3 { font-family: 'Fraunces',Georgia,serif; font-size: 18px; font-weight: 600; color: var(--d-text) !important; margin: 14px 0 9px; }
.pm-svcs-step p { font-size: 14px; line-height: 1.6; color: var(--d-text-2) !important; margin: 0; }

@media (max-width: 920px) {
  .pm-svcs-grid { grid-template-columns: 1fr 1fr; }
  .pm-svcs-steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .pm-svcs-grid { grid-template-columns: 1fr; }
  .pm-svcs-steps { grid-template-columns: 1fr; }
}

/* =========================================================
   SERVICES LANDING — Benefits + FAQ
   ========================================================= */
.pm-svcs-benefits { padding: 84px 0; background: var(--d-bg) !important; }
.pm-svcs-ben-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; }
.pm-svcs-ben {
  text-align: center; padding: 32px 22px; border-radius: 20px;
  background: linear-gradient(160deg, var(--d-card), var(--d-card-2));
  border: 1px solid var(--d-line); box-shadow: 0 22px 48px -32px rgba(0,0,0,.8);
  transition: transform .3s, border-color .3s;
}
.pm-svcs-ben:hover { transform: translateY(-6px); border-color: rgba(201,162,75,.45); }
.pm-svcs-ben__icon {
  width: 54px; height: 54px; margin: 0 auto 16px; border-radius: 15px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(140deg, #11161f, #232c40); color: var(--d-gold);
  box-shadow: inset 0 0 0 1px rgba(201,162,75,.35);
}
.pm-svcs-ben h3 { font-family: 'Fraunces',Georgia,serif; font-size: 18px; font-weight: 600; color: var(--d-text) !important; margin: 0 0 9px; }
.pm-svcs-ben p { font-size: 14px; line-height: 1.6; color: var(--d-text-2) !important; margin: 0; }

/* FAQ accordion */
.pm-svcs-faq { padding: 84px 0; background: var(--d-bg-2) !important; }
.pm-svcs-faq__wrap { max-width: 820px; }
.pm-faq-list { display: flex; flex-direction: column; gap: 14px; }
.pm-faq {
  background: linear-gradient(160deg, var(--d-card), var(--d-card-2));
  border: 1px solid var(--d-line); border-radius: 16px; overflow: hidden;
  transition: border-color .3s;
}
.pm-faq[open] { border-color: rgba(201,162,75,.45); }
.pm-faq summary {
  list-style: none; cursor: pointer; padding: 20px 24px;
  font-family: 'Fraunces',Georgia,serif; font-size: 17px; font-weight: 600; color: var(--d-text) !important;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.pm-faq summary::-webkit-details-marker { display: none; }
.pm-faq summary:hover { color: var(--d-gold-2) !important; }
.pm-faq__plus { position: relative; flex: 0 0 18px; width: 18px; height: 18px; }
.pm-faq__plus::before, .pm-faq__plus::after {
  content: ''; position: absolute; background: var(--d-gold); border-radius: 2px;
  top: 50%; left: 50%; transform: translate(-50%,-50%); transition: transform .3s;
}
.pm-faq__plus::before { width: 14px; height: 2px; }
.pm-faq__plus::after  { width: 2px; height: 14px; }
.pm-faq[open] .pm-faq__plus::after { transform: translate(-50%,-50%) rotate(90deg); opacity: 0; }
.pm-faq__body { padding: 0 24px 22px; }
.pm-faq__body p { font-size: 15px; line-height: 1.7; color: var(--d-text-2) !important; margin: 0; }

@media (max-width: 920px) { .pm-svcs-ben-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .pm-svcs-ben-grid { grid-template-columns: 1fr; } }

/* =========================================================
   CTA BAND — premium centered panel redesign (About + Services)
   ========================================================= */
.pg-cta-band { padding: 96px 22px !important; background: var(--d-bg) !important; }
.pg-cta-band .pg-wrap { max-width: 980px; }
.pg-cta-band__inner {
  flex-direction: column !important; text-align: center; align-items: center; gap: 0 !important;
  background:
    radial-gradient(120% 140% at 50% -20%, rgba(201,162,75,.14), transparent 60%),
    linear-gradient(165deg, #1c2333 0%, #141a28 60%, #11161f 100%);
  border: 1px solid rgba(201,162,75,.32);
  border-radius: 30px; padding: 64px 44px;
  position: relative; overflow: hidden;
  box-shadow: 0 50px 100px -44px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.05);
}
/* faint gold corner glows */
.pg-cta-band__inner::before {
  content: ''; position: absolute; width: 320px; height: 320px; border-radius: 50%;
  background: radial-gradient(circle, rgba(201,162,75,.16), transparent 70%);
  top: -140px; left: -120px; pointer-events: none;
}
.pg-cta-band__inner::after {
  content: ''; position: absolute; width: 300px; height: 300px; border-radius: 50%;
  background: radial-gradient(circle, rgba(201,162,75,.12), transparent 70%);
  bottom: -150px; right: -110px; pointer-events: none;
}
.pg-cta-band__inner > div { position: relative; z-index: 2; }
.pg-cta-band__inner h2 {
  font-family: 'Fraunces',Georgia,serif !important; font-size: 40px !important; font-weight: 700 !important;
  color: var(--d-text) !important; line-height: 1.12; margin: 0 0 14px !important; letter-spacing: -.01em;
}
.pg-cta-band__inner > div > p, .pg-cta-band p {
  font-size: 17px !important; line-height: 1.65; color: var(--d-text-2) !important;
  max-width: 560px; margin: 0 auto !important;
}
.pg-cta-band__btns {
  position: relative; z-index: 2; display: flex !important; flex-direction: row !important;
  justify-content: center; gap: 16px; margin-top: 32px; flex-wrap: wrap;
}
/* buttons — kill content underline, premium pills */
.pg-cta-band .pm-btn {
  text-decoration: none !important; min-width: 200px; padding: 15px 30px !important;
  border-radius: 14px !important; font-family: 'Inter',sans-serif !important; font-weight: 700 !important;
  font-size: 15.5px !important; letter-spacing: .2px; transition: transform .25s, box-shadow .25s, background .25s, color .25s !important;
}
/* primary = gold */
.pg-cta-band .pm-btn--solid {
  background: linear-gradient(135deg, var(--d-gold), var(--d-gold-2)) !important;
  color: #11161f !important; border: none !important;
  box-shadow: 0 16px 40px -14px rgba(201,162,75,.6) !important;
}
.pg-cta-band .pm-btn--solid:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 54px -14px rgba(201,162,75,.75) !important;
  filter: brightness(1.04);
}
/* secondary = gold outline */
.pg-cta-band .pm-btn--ghost {
  background: rgba(201,162,75,.06) !important; color: var(--d-gold-2) !important;
  border: 1.5px solid rgba(201,162,75,.55) !important;
}
.pg-cta-band .pm-btn--ghost:hover {
  background: var(--d-gold) !important; color: #11161f !important; transform: translateY(-3px);
  box-shadow: 0 18px 40px -16px rgba(201,162,75,.6) !important;
}
@media (max-width: 560px) {
  .pg-cta-band__inner { padding: 48px 24px; }
  .pg-cta-band__inner h2 { font-size: 30px !important; }
  .pg-cta-band .pm-btn { min-width: 100%; }
}

/* =========================================================
   FIX: CTA buttons inside .entry-content were inheriting the
   gold content-link colour. Force correct button text colours.
   (higher specificity than `body:not(.home) .entry-content a`)
   ========================================================= */
body:not(.home) .pg-cta-band .pm-btn--solid,
body:not(.home) .pg-cta-band .pm-btn--solid:hover,
body:not(.home) .entry-content .pg-cta-band .pm-btn--solid {
  color: #11161f !important; text-decoration: none !important;
}
body:not(.home) .pg-cta-band .pm-btn--ghost,
body:not(.home) .entry-content .pg-cta-band .pm-btn--ghost {
  color: var(--d-gold-2) !important; text-decoration: none !important;
}
body:not(.home) .pg-cta-band .pm-btn--ghost:hover {
  color: #11161f !important;
}
/* also strip underline from any button rendered in inner content */
body:not(.home) .entry-content a.pm-btn,
body:not(.home) .entry-content a.pm-svc-cta,
body:not(.home) .entry-content a.pm-svc-card { text-decoration: none !important; }

/* =========================================================
   SERVICE INNER PAGES (27-32) — break out of the boxed
   container, full-width bands (sections handle inner width)
   ========================================================= */
.page-id-27, .page-id-28, .page-id-29, .page-id-30, .page-id-31, .page-id-32 { }

.page-id-27 .content-container.site-container,
.page-id-28 .content-container.site-container,
.page-id-29 .content-container.site-container,
.page-id-30 .content-container.site-container,
.page-id-31 .content-container.site-container,
.page-id-32 .content-container.site-container {
  max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important;
}
.page-id-27 .entry-content-wrap, .page-id-28 .entry-content-wrap,
.page-id-29 .entry-content-wrap, .page-id-30 .entry-content-wrap,
.page-id-31 .entry-content-wrap, .page-id-32 .entry-content-wrap { padding: 0 !important; }

/* kill the 820px clamp pages.css puts on these */
.page-id-27 .entry-content, .page-id-28 .entry-content,
.page-id-29 .entry-content, .page-id-30 .entry-content,
.page-id-31 .entry-content, .page-id-32 .entry-content {
  max-width: 100% !important; margin: 0 !important;
}
/* remove boxed card chrome + tighten spacing */
.page-id-27 .entry.single-entry, .page-id-28 .entry.single-entry,
.page-id-29 .entry.single-entry, .page-id-30 .entry.single-entry,
.page-id-31 .entry.single-entry, .page-id-32 .entry.single-entry {
  box-shadow: none !important; background: transparent !important; padding: 0 !important; border: none !important;
}
.page-id-27 .content-area, .page-id-28 .content-area,
.page-id-29 .content-area, .page-id-30 .content-area,
.page-id-31 .content-area, .page-id-32 .content-area { margin: 0 !important; padding: 0 !important; }

/* =========================================================
   LOGO SIZING — bigger header + footer logo
   ========================================================= */
/* header logo — white + enlarged */
.pm-header__logo img {
	width: 100px !important; height: 100px !important; object-fit: contain;
	filter: brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.5)) !important;
}
.pm-header__logo:hover img {
	filter: brightness(0) invert(1) drop-shadow(0 4px 14px rgba(201,162,75,.7)) !important;
}
.pm-header { height: 90px !important; }
.pm-header-spacer { height: 90px !important; }
.pm-mobile-nav { top: 90px !important; }
/* footer logo — white + 50% bigger */
.pm-footer__logo {
	width: 160px !important; height: auto !important;
	filter: brightness(0) invert(1) drop-shadow(0 2px 6px rgba(0,0,0,.45)) !important;
}

/* =========================================================
   ★ MASTER RULE — EVERY golden button = dark readable text
   Covers header, footer, sidebar, content, forms, cards.
   This is the single source of truth for gold-button text.
   ========================================================= */
.pm-header__cta, .pm-header__cta:hover, .pm-header__cta:focus,
.pm-svc-cta, .pm-svc-cta:focus, .pm-svc-cta--big,
.pm-svc-price-card__cta, .pm-svc-price-card__cta:hover,
.pm-sidebar-cta a, .pm-sidebar-cta a:hover,
.pm-latest__cta .pm-btn--ghost:hover,
.pm-cat-filter a.active,
.pg-contact__form .wpcf7-submit,
.pg-cta-band .pm-btn--solid, .pg-cta-band .pm-btn--solid:hover,
.pg-cinfo-cta--light:hover,
.pm-svc-card:hover .pm-svc-card__arrow,
/* in-content variants (beat the entry-content link rule) */
body:not(.home) .entry-content a.pm-svc-cta,
body:not(.home) .entry-content a.pm-svc-cta--big,
body:not(.home) .entry-content a.pm-svc-price-card__cta,
body:not(.home) .entry-content .pg-cta-band a.pm-btn--solid,
body:not(.home) .entry-content a[class*="cta"],
body:not(.home) .entry-content a[class*="btn--solid"],
/* hover-inverts that turn gold (ghost/outline buttons filling gold on hover) */
.pg-cta-band .pm-btn--ghost:hover,
.pg-cta-band__btns .pm-btn--ghost:hover,
.pm-cat-filter a:hover {
  color: #11161f !important;
  text-decoration: none !important;
}

/* Gold OUTLINE buttons (gold text on dark) stay gold until hover */
.pg-cta-band .pm-btn--ghost,
.pm-latest__cta .pm-btn--ghost,
.pm-svc-cta--ghost { color: var(--d-gold-2) !important; text-decoration: none !important; }

/* never underline any button anywhere */
a.pm-btn, a[class*="cta"], a[class*="btn--"], .wp-block-button__link { text-decoration: none !important; }

/* =========================================================
   SERVICE INNER — hero band + trust stats
   ========================================================= */
.pm-svc-hero {
  padding: 80px 22px 70px; text-align: center; position: relative; overflow: hidden;
  background:
    radial-gradient(120% 120% at 50% -10%, rgba(201,162,75,.13), transparent 55%),
    linear-gradient(180deg, #11161f 0%, #0d1117 100%);
  border-bottom: 1px solid var(--d-line);
}
.pm-svc-hero__icon {
  width: 74px; height: 74px; margin: 0 auto 22px; border-radius: 20px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(140deg, #1c2333, #232c40); color: var(--d-gold);
  box-shadow: inset 0 0 0 1px rgba(201,162,75,.4), 0 18px 40px -16px rgba(0,0,0,.7);
}
.pm-svc-hero__title { font-family:'Fraunces',Georgia,serif; font-size: 46px; font-weight: 700; color: var(--d-text) !important; line-height: 1.08; margin: 0 0 14px; letter-spacing: -.01em; }
.pm-svc-hero__tag { font-size: 18px; line-height: 1.6; color: var(--d-text-2) !important; max-width: 640px; margin: 0 auto 28px; }
.pm-svc-hero__btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-bottom: 44px; }
.pm-svc-hero__btns .pm-svc-cta { padding: 14px 28px; }
.pm-svc-hero__stats {
  display: flex; justify-content: center; flex-wrap: wrap; gap: 0;
  max-width: 760px; margin: 0 auto; border: 1px solid var(--d-line);
  border-radius: 18px; background: rgba(255,255,255,.03); overflow: hidden;
}
.pm-svc-hero__stats > div { flex: 1; min-width: 150px; padding: 22px 18px; border-right: 1px solid var(--d-line-2); }
.pm-svc-hero__stats > div:last-child { border-right: none; }
.pm-svc-hero__stats strong { display: block; font-family:'Fraunces',Georgia,serif; font-size: 28px; font-weight: 700; color: var(--d-gold) !important; line-height: 1; }
.pm-svc-hero__stats span { display: block; font-size: 12px; letter-spacing: .6px; text-transform: uppercase; color: var(--d-text-3) !important; margin-top: 7px; }
.pm-svc-cta--ghost { background: rgba(201,162,75,.06) !important; border: 1.5px solid rgba(201,162,75,.55) !important; }
@media (max-width: 620px){
  .pm-svc-hero__title { font-size: 32px; }
  .pm-svc-hero__stats > div { flex-basis: 50%; border-bottom: 1px solid var(--d-line-2); }
}

/* hide Kadence title-hero on service inner pages (custom hero replaces it) */
.page-id-27 .entry-hero, .page-id-28 .entry-hero, .page-id-29 .entry-hero,
.page-id-30 .entry-hero, .page-id-31 .entry-hero, .page-id-32 .entry-hero { display: none !important; }

/* =========================================================
   "HOW IT WORKS" — redesigned connected timeline (all svc pages)
   ========================================================= */
.pm-svc-process { padding: 90px 22px !important; background: linear-gradient(180deg,var(--d-bg-2),var(--d-bg)) !important; }
.pm-svc-process__h { font-size: 38px !important; margin-bottom: 60px !important; color: var(--d-text) !important; }

.pm-svc-steps { position: relative; gap: 26px !important; }
/* gold connector line behind the row */
.pm-svc-steps::before {
  content:''; position:absolute; top: 38px; left: 12%; right: 12%; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201,162,75,.5) 15%, rgba(201,162,75,.5) 85%, transparent);
  z-index: 0;
}
.pm-svc-step {
  position: relative; z-index: 1; text-align: center;
  background: linear-gradient(160deg,var(--d-card),var(--d-card-2)) !important;
  border: 1px solid var(--d-line) !important; border-radius: 20px !important;
  padding: 0 22px 28px !important; margin-top: 38px;
  box-shadow: 0 24px 50px -32px rgba(0,0,0,.85) !important;
  transition: transform .35s, border-color .35s, box-shadow .35s !important;
}
.pm-svc-step:hover { transform: translateY(-8px) !important; border-color: rgba(201,162,75,.55) !important; box-shadow: 0 36px 70px -30px rgba(201,162,75,.28) !important; }
/* big number medallion straddling the top edge */
.pm-svc-step__num {
  width: 72px !important; height: 72px !important; border-radius: 50% !important;
  margin: -38px auto 18px !important;
  display: flex; align-items: center; justify-content: center;
  font-family:'Fraunces',Georgia,serif !important; font-size: 28px !important; font-weight: 700 !important;
  color: #11161f !important;
  background: linear-gradient(135deg, var(--d-gold), var(--d-gold-2)) !important;
  box-shadow: 0 0 0 6px var(--d-bg-2), 0 14px 30px -10px rgba(201,162,75,.6) !important;
}
.pm-svc-step:hover .pm-svc-step__num { transform: scale(1.06); }
.pm-svc-step__body h3 { font-family:'Fraunces',Georgia,serif; font-size: 18px; font-weight: 600; color: var(--d-text) !important; margin: 0 0 9px; }
.pm-svc-step__body p { font-size: 14px; line-height: 1.6; color: var(--d-text-2) !important; margin: 0; }

@media (max-width: 1024px){ .pm-svc-steps::before { display:none; } }
@media (max-width: 620px){ .pm-svc-process__h { font-size: 28px !important; } }

/* =========================================================
   "HOW IT WORKS" v2 — vertical editorial timeline
   (overrides the horizontal version above)
   ========================================================= */
.pm-svc-process { background: var(--d-bg) !important; }
.pm-svc-steps {
  display: flex !important; flex-direction: column !important; gap: 0 !important;
  max-width: 720px; margin: 0 auto; position: relative;
}
.pm-svc-steps::before { display: none !important; } /* kill horizontal line */
/* continuous vertical rail */
.pm-svc-steps::after {
  content:''; position:absolute; left: 35px; top: 30px; bottom: 30px; width: 2px;
  background: linear-gradient(180deg, var(--d-gold), rgba(201,162,75,.15));
}
.pm-svc-step {
  display: grid !important; grid-template-columns: 72px 1fr; gap: 24px; align-items: flex-start;
  text-align: left !important; background: transparent !important; border: none !important;
  box-shadow: none !important; padding: 0 0 38px !important; margin: 0 !important;
  position: relative; z-index: 1;
}
.pm-svc-step:last-child { padding-bottom: 0 !important; }
.pm-svc-step:hover { transform: none !important; }
.pm-svc-step__num {
  width: 72px !important; height: 72px !important; margin: 0 !important; border-radius: 50% !important;
  font-family:'Fraunces',Georgia,serif !important; font-size: 26px !important; font-weight: 700 !important;
  color: #11161f !important; background: linear-gradient(135deg, var(--d-gold), var(--d-gold-2)) !important;
  box-shadow: 0 0 0 7px var(--d-bg), 0 12px 28px -10px rgba(201,162,75,.55) !important;
  transition: transform .3s !important;
}
/* content card on the right */
.pm-svc-step__body {
  background: linear-gradient(160deg,var(--d-card),var(--d-card-2));
  border: 1px solid var(--d-line); border-radius: 18px; padding: 22px 26px;
  box-shadow: 0 22px 46px -32px rgba(0,0,0,.85); transition: transform .3s, border-color .3s;
  margin-top: 4px;
}
.pm-svc-step:hover .pm-svc-step__body { transform: translateX(6px); border-color: rgba(201,162,75,.5); }
.pm-svc-step:hover .pm-svc-step__num { transform: scale(1.07); }
.pm-svc-step__body h3 { font-size: 19px !important; margin: 0 0 8px !important; }
.pm-svc-step__body p { font-size: 14.5px !important; }

@media (max-width: 620px){
  .pm-svc-steps::after { left: 28px; }
  .pm-svc-step { grid-template-columns: 58px 1fr; gap: 16px; }
  .pm-svc-step__num { width: 58px !important; height: 58px !important; font-size: 22px !important; }
}

/* =========================================================
   "HOW IT WORKS" v3 — ROADMAP (center rail, alternating sides)
   ========================================================= */
.pm-svc-steps {
  display: block !important; max-width: 920px; margin: 0 auto; position: relative;
}
.pm-svc-steps::after {
  left: 50% !important; transform: translateX(-50%);
  top: 6px !important; bottom: 6px !important;
  background: linear-gradient(180deg, rgba(201,162,75,.15), var(--d-gold) 12%, var(--d-gold) 88%, rgba(201,162,75,.15)) !important;
}
.pm-svc-step {
  display: block !important; position: relative; width: 50%; box-sizing: border-box;
  padding: 0 0 46px !important; margin: 0 !important; min-height: 86px;
}
.pm-svc-step:last-child { padding-bottom: 0 !important; }
/* left column (odd steps) */
.pm-svc-step:nth-child(odd)  { left: 0; padding-right: 56px !important; }
/* right column (even steps) — pushed down for offset roadmap feel */
.pm-svc-step:nth-child(even) { left: 50%; padding-left: 56px !important; margin-top: -30px !important; }
/* number medallion sits on the center rail */
.pm-svc-step__num {
  position: absolute !important; top: 0; margin: 0 !important;
  width: 64px !important; height: 64px !important; border-radius: 50% !important;
  font-family:'Fraunces',Georgia,serif !important; font-size: 24px !important; font-weight: 700 !important;
  color: #11161f !important; background: linear-gradient(135deg, var(--d-gold), var(--d-gold-2)) !important;
  box-shadow: 0 0 0 7px var(--d-bg), 0 12px 28px -10px rgba(201,162,75,.6) !important;
  transition: transform .3s !important; z-index: 2;
}
.pm-svc-step:nth-child(odd)  .pm-svc-step__num { right: -32px; }
.pm-svc-step:nth-child(even) .pm-svc-step__num { left: -32px; }
.pm-svc-step:hover .pm-svc-step__num { transform: scale(1.08); }
/* content card */
.pm-svc-step__body {
  background: linear-gradient(160deg,var(--d-card),var(--d-card-2));
  border: 1px solid var(--d-line); border-radius: 18px; padding: 20px 24px;
  box-shadow: 0 22px 46px -32px rgba(0,0,0,.85); transition: transform .3s, border-color .3s;
  position: relative;
}
.pm-svc-step:nth-child(odd)  .pm-svc-step__body { text-align: right; }
.pm-svc-step:nth-child(even) .pm-svc-step__body { text-align: left; }
/* little arrow connector from card to rail */
.pm-svc-step__body::after {
  content:''; position:absolute; top: 22px; width: 12px; height: 12px;
  background: var(--d-card); border: 1px solid var(--d-line); transform: rotate(45deg);
}
.pm-svc-step:nth-child(odd)  .pm-svc-step__body::after { right: -7px; border-left: none; border-bottom: none; }
.pm-svc-step:nth-child(even) .pm-svc-step__body::after { left: -7px; border-right: none; border-top: none; }
.pm-svc-step:hover .pm-svc-step__body { border-color: rgba(201,162,75,.5); transform: translateY(-3px); }

/* mobile → single column, rail on left */
@media (max-width: 720px){
  .pm-svc-steps::after { left: 28px !important; transform: none; }
  .pm-svc-step, .pm-svc-step:nth-child(odd), .pm-svc-step:nth-child(even) {
    width: 100%; left: 0; margin-top: 0 !important; padding: 0 0 34px 72px !important; text-align: left;
  }
  .pm-svc-step:nth-child(odd) .pm-svc-step__num,
  .pm-svc-step:nth-child(even) .pm-svc-step__num { left: -4px; right: auto; }
  .pm-svc-step:nth-child(odd) .pm-svc-step__body,
  .pm-svc-step:nth-child(even) .pm-svc-step__body { text-align: left; }
  .pm-svc-step:nth-child(odd) .pm-svc-step__body::after { left: -7px; right: auto; border: 1px solid var(--d-line); border-right:none; border-top:none; }
}

/* =========================================================
   FINAL CTA ("Ready to Get Started?") — clean hover states
   ========================================================= */
/* primary gold button: dark text always, just lift+brighten on hover */
.pm-svc-final-cta .pm-svc-cta--big,
.pm-svc-final-cta .pm-svc-cta--big:hover,
.pm-svc-final-cta .pm-svc-cta--big:focus {
  background: linear-gradient(135deg, var(--d-gold), var(--d-gold-2)) !important;
  color: #11161f !important; border: none !important;
}
.pm-svc-final-cta .pm-svc-cta--big:hover { transform: translateY(-3px); filter: brightness(1.05); box-shadow: 0 22px 50px -16px rgba(201,162,75,.7) !important; }
/* outline button: gold text → fills gold + dark text on hover */
.pm-svc-final-cta .pm-svc-cta--ghost {
  background: rgba(201,162,75,.06) !important; color: var(--d-gold-2) !important;
  border: 1.5px solid rgba(201,162,75,.55) !important;
}
.pm-svc-final-cta .pm-svc-cta--ghost:hover {
  background: var(--d-gold) !important; color: #11161f !important;
  border-color: var(--d-gold) !important; transform: translateY(-3px);
}

/* FIX: "View All Services" ghost — master cta rule was forcing black.
   Beat it with higher specificity (in-content + section + class). */
body:not(.home) .entry-content .pm-svc-final-cta .pm-svc-cta--ghost,
body:not(.home) .entry-content .pm-svc-final-cta a.pm-svc-cta--ghost {
  color: var(--d-gold-2) !important;
}
body:not(.home) .entry-content .pm-svc-final-cta .pm-svc-cta--ghost:hover {
  color: #11161f !important;
}

/* FIX: hero "What's Included" ghost button (top of service page) — same black-text bug */
body:not(.home) .entry-content .pm-svc-hero .pm-svc-cta--ghost,
body:not(.home) .entry-content .pm-svc-hero a.pm-svc-cta--ghost {
  color: var(--d-gold-2) !important;
}
body:not(.home) .entry-content .pm-svc-hero .pm-svc-cta--ghost:hover {
  background: var(--d-gold) !important; color: #11161f !important; border-color: var(--d-gold) !important;
}
/* hero "Get a Quote" solid — ensure dark readable text both states */
body:not(.home) .entry-content .pm-svc-hero a.pm-svc-cta:not(.pm-svc-cta--ghost),
body:not(.home) .entry-content .pm-svc-hero a.pm-svc-cta:not(.pm-svc-cta--ghost):hover {
  color: #11161f !important;
}

/* =========================================================
   ★ SERVICE PAGE BUTTONS — final catch-all (highest specificity)
   Every .pm-svc-cta inside the page: solid=dark text, ghost=gold→dark on hover
   ========================================================= */
body:not(.home) .entry-content .pm-svc-page a.pm-svc-cta:not(.pm-svc-cta--ghost),
body:not(.home) .entry-content .pm-svc-page a.pm-svc-cta:not(.pm-svc-cta--ghost):hover,
body:not(.home) .entry-content .pm-svc-page a.pm-svc-cta:not(.pm-svc-cta--ghost):focus {
  color: #11161f !important;
}
body:not(.home) .entry-content .pm-svc-page a.pm-svc-cta--ghost {
  color: var(--d-gold-2) !important;
}
body:not(.home) .entry-content .pm-svc-page a.pm-svc-cta--ghost:hover {
  background: var(--d-gold) !important; color: #11161f !important; border-color: var(--d-gold) !important;
}

/* FIX: solid svc buttons were inverting to NAVY bg on hover (old rule)
   while catch-all forced black text → invisible. Keep GOLD bg on hover. */
body:not(.home) .entry-content .pm-svc-page a.pm-svc-cta:not(.pm-svc-cta--ghost):hover,
body:not(.home) .entry-content .pm-svc-page a.pm-svc-cta:not(.pm-svc-cta--ghost):focus {
  background: linear-gradient(135deg, var(--d-gold), var(--d-gold-2)) !important;
  color: #11161f !important;
  filter: brightness(1.05); transform: translateY(-2px);
}

/* =========================================================
   ABOUT hero — title was cream on cream (invisible). Dark blue.
   ========================================================= */
html body.page-id-5.page .entry-hero .entry-title,
html body.page-id-5.page .entry-hero h1.entry-title,
html body.page-id-5.page .page-hero-section .entry-title {
  color: #1c2333 !important;
}
html body.page-id-5.page .entry-hero .kadence-breadcrumbs,
html body.page-id-5.page .entry-hero .kadence-breadcrumbs span { color: #5c6478 !important; }
html body.page-id-5.page .entry-hero .kadence-breadcrumbs a { color: #a67c2e !important; }

/* =========================================================
   ALL inner-page hero titles → dark blue (heroes render cream)
   overrides the earlier cream-title rule site-wide
   ========================================================= */
html body:not(.home) .entry-hero .entry-title,
html body:not(.home) .entry-hero h1.entry-title,
html body:not(.home) .page-hero-section .entry-title {
  color: #1c2333 !important;
}
html body:not(.home) .entry-hero .kadence-breadcrumbs,
html body:not(.home) .entry-hero .kadence-breadcrumbs span { color: #5c6478 !important; }
html body:not(.home) .entry-hero .kadence-breadcrumbs a { color: #a67c2e !important; }

/* =========================================================
   Pages only — hero title dark blue (all WP pages)
   ========================================================= */
html body.page:not(.home) .entry-hero .entry-title,
html body.page:not(.home) .entry-hero h1.entry-title,
html body.page:not(.home) .entry-hero .page-title,
html body.page:not(.home) .page-hero-section .entry-title {
  color: #1c2333 !important;
}

/* =========================================================
   Blog (posts index) hero title — dark blue (body.blog, .page-title)
   ========================================================= */
html body.blog .entry-hero .page-title,
html body.blog .entry-hero .archive-title,
html body.blog .post-archive-hero-section .page-title,
html body.blog .entry-hero h1 {
  color: #1c2333 !important;
}
html body.blog .entry-hero .kadence-breadcrumbs,
html body.blog .entry-hero .kadence-breadcrumbs span { color: #5c6478 !important; }
html body.blog .entry-hero .kadence-breadcrumbs a { color: #a67c2e !important; }

/* =========================================================
   ★ BLOG / ARCHIVE CARDS — full premium luxury redesign
   ========================================================= */
/* card shell — kill Kadence white content-bg, dark gradient */
.blog .loop-entry, .archive .loop-entry,
.blog .loop-entry.content-bg, .archive .loop-entry.content-bg {
  background: linear-gradient(165deg, #1c2333, #141a28) !important;
  border: 1px solid var(--d-line) !important; border-radius: 20px !important;
  overflow: hidden !important; box-shadow: 0 24px 54px -30px rgba(0,0,0,.9) !important;
  transition: transform .35s, border-color .35s, box-shadow .35s !important; padding: 0 !important;
}
.blog .loop-entry:hover, .archive .loop-entry:hover {
  transform: translateY(-8px) !important; border-color: rgba(201,162,75,.5) !important;
  box-shadow: 0 40px 80px -30px rgba(201,162,75,.25) !important;
}
/* inner padding wrap → transparent + tidy padding */
.blog .entry-content-wrap, .archive .entry-content-wrap {
  background: transparent !important; padding: 24px 24px 26px !important;
}
/* image → clean 3:2 landscape (was tall portrait 2:3) */
.blog .post-thumbnail, .archive .post-thumbnail,
.blog .post-thumbnail-inner, .archive .post-thumbnail-inner {
  position: static !important; padding: 0 !important; height: auto !important; display: block !important; border-radius: 0 !important;
}
.blog .post-thumbnail img, .archive .post-thumbnail img {
  position: static !important; width: 100% !important; height: 215px !important;
  object-fit: cover !important; display: block !important; border-radius: 0 !important;
}
/* category eyebrow above title → gold */
.blog .loop-entry .entry-taxonomies, .archive .loop-entry .entry-taxonomies,
.blog .loop-entry .entry-taxonomies a, .archive .loop-entry .entry-taxonomies a,
.blog .loop-entry .post-categories a, .archive .loop-entry .post-categories a {
  color: var(--d-gold) !important; font-size: 11.5px !important; font-weight: 700 !important;
  letter-spacing: 1.2px !important; text-transform: uppercase !important; text-decoration: none !important;
}
/* title → cream serif */
.blog .loop-entry .entry-title, .archive .loop-entry .entry-title { margin: 8px 0 12px !important; }
.blog .loop-entry .entry-title a, .archive .loop-entry .entry-title a {
  font-family: 'Fraunces',Georgia,serif !important; font-size: 21px !important; font-weight: 600 !important;
  color: var(--d-text) !important; line-height: 1.25 !important; text-decoration: none !important;
}
.blog .loop-entry:hover .entry-title a, .archive .loop-entry:hover .entry-title a { color: var(--d-gold-2) !important; }
/* meta + excerpt */
.blog .loop-entry .entry-meta, .archive .loop-entry .entry-meta,
.blog .loop-entry .entry-meta a, .archive .loop-entry .entry-meta a { color: var(--d-text-3) !important; font-size: 13px !important; }
.blog .loop-entry .entry-summary, .archive .loop-entry .entry-summary,
.blog .loop-entry .entry-summary p, .archive .loop-entry .entry-summary p { color: var(--d-text-2) !important; font-size: 14.5px !important; line-height: 1.6 !important; }
/* read more link */
.blog .loop-entry .more-link, .archive .loop-entry .more-link { color: var(--d-gold) !important; font-weight: 700 !important; text-decoration: none !important; }

/* =========================================================
   PAGINATION — premium dark + gold
   ========================================================= */
.blog .navigation.pagination, .archive .navigation.pagination { margin-top: 50px; }
.blog .nav-links, .archive .nav-links { display: flex; justify-content: center; align-items: center; gap: 8px; flex-wrap: wrap; }
.blog .page-numbers, .archive .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 46px; height: 46px; padding: 0 14px; border-radius: 12px;
  background: linear-gradient(160deg,var(--d-card),var(--d-card-2)) !important;
  border: 1px solid var(--d-line) !important; color: var(--d-text-2) !important;
  font-weight: 700 !important; font-size: 15px; text-decoration: none !important;
  transition: all .25s !important;
}
.blog .page-numbers:hover, .archive .page-numbers:hover {
  border-color: rgba(201,162,75,.6) !important; color: var(--d-gold-2) !important; transform: translateY(-2px);
}
.blog .page-numbers.current, .archive .page-numbers.current {
  background: linear-gradient(135deg, var(--d-gold), var(--d-gold-2)) !important;
  color: #11161f !important; border-color: var(--d-gold) !important;
  box-shadow: 0 12px 28px -10px rgba(201,162,75,.55) !important;
}
.blog .page-numbers.dots, .archive .page-numbers.dots { background: transparent !important; border: none !important; color: var(--d-text-3) !important; }
.blog .page-numbers.next, .blog .page-numbers.prev,
.archive .page-numbers.next, .archive .page-numbers.prev { color: var(--d-gold) !important; }

/* =========================================================
   BLOG CARD FIXES — title visible, no image, category badge
   ========================================================= */
/* (1) title cream in ALL states (was black on visited links) */
html body.blog .loop-entry .entry-title a,
html body.blog .loop-entry .entry-title a:link,
html body.blog .loop-entry .entry-title a:visited,
html body.archive .loop-entry .entry-title a,
html body.archive .loop-entry .entry-title a:link,
html body.archive .loop-entry .entry-title a:visited {
  color: var(--d-text) !important;
}
html body.blog .loop-entry:hover .entry-title a,
html body.archive .loop-entry:hover .entry-title a { color: var(--d-gold-2) !important; }

/* (2) hide post image */
.blog .post-thumbnail, .archive .post-thumbnail,
.blog .article-post-loop-header.kadence-thumbnail-ratio-2-3,
.archive .article-post-loop-header.kadence-thumbnail-ratio-2-3 { display: none !important; }

/* (3) category → pill badge */
.blog .loop-entry .entry-taxonomies a, .archive .loop-entry .entry-taxonomies a,
.blog .loop-entry .post-categories a, .archive .loop-entry .post-categories a {
  display: inline-block !important; background: rgba(201,162,75,.12) !important;
  border: 1px solid rgba(201,162,75,.4) !important; padding: 5px 13px !important;
  border-radius: 999px !important; color: var(--d-gold-2) !important;
  font-size: 11px !important; letter-spacing: 1px !important;
}
.blog .loop-entry .entry-taxonomies, .archive .loop-entry .entry-taxonomies { margin-bottom: 4px !important; }

/* (4) tighter card without image */
.blog .entry-content-wrap, .archive .entry-content-wrap { padding: 26px 26px 28px !important; }
.blog .loop-entry .entry-title a, .archive .loop-entry .entry-title a { font-size: 20px !important; }

/* blog title — slightly smaller */
html body.blog .loop-entry .entry-title a,
html body.archive .loop-entry .entry-title a { font-size: 17px !important; line-height: 1.3 !important; }

/* =========================================================
   ★★ BLOG CARDS — reference redesign (white card, navy band)
   overrides all earlier blog-card styling
   ========================================================= */
/* card = white, elevated, rounded */
html body.blog .loop-entry, html body.archive .loop-entry,
html body.blog .loop-entry.content-bg, html body.archive .loop-entry.content-bg {
  background: #ffffff !important; border: 1px solid #e9edf4 !important; border-radius: 22px !important;
  overflow: hidden !important; padding: 0 !important; position: relative !important;
  box-shadow: 0 22px 54px -30px rgba(13,17,23,.65) !important;
  transition: transform .35s, box-shadow .35s !important;
}
html body.blog .loop-entry:hover, html body.archive .loop-entry:hover {
  transform: translateY(-8px) !important; box-shadow: 0 38px 76px -28px rgba(13,17,23,.75) !important;
}

/* TOP BAND — repurpose thumbnail: navy gradient, hide the photo, gold emblem */
html body.blog .post-thumbnail, html body.archive .post-thumbnail,
html body.blog .article-post-loop-header, html body.archive .article-post-loop-header {
  display: block !important; height: 132px !important; position: relative !important; padding: 0 !important;
  background: linear-gradient(155deg, #283566 0%, #1c2333 55%, #0d1117 100%) !important;
  overflow: hidden !important; border-radius: 0 !important;
}
html body.blog .post-thumbnail img, html body.archive .post-thumbnail img,
html body.blog .post-thumbnail-inner, html body.archive .post-thumbnail-inner { opacity: 0 !important; }
html body.blog .post-thumbnail::after, html body.archive .post-thumbnail::after {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 42%, rgba(201,162,75,.28), transparent 58%);
}
html body.blog .post-thumbnail::before, html body.archive .post-thumbnail::before {
  content: '✦'; position: absolute; top: 46%; left: 50%; transform: translate(-50%,-50%);
  font-size: 30px; color: rgba(201,162,75,.85); text-shadow: 0 4px 16px rgba(201,162,75,.5);
}

/* BODY — white, reorder so date sits at the bottom */
html body.blog .entry-content-wrap, html body.archive .entry-content-wrap {
  background: #ffffff !important; padding: 32px 26px 24px !important;
  display: flex !important; flex-direction: column !important; position: relative !important;
}
html body.blog .entry-header, html body.archive .entry-header { order: 1; background: transparent !important; }
html body.blog .entry-summary, html body.archive .entry-summary { order: 2; }
html body.blog .entry-meta, html body.archive .entry-meta { order: 3; }

/* CATEGORY BADGE — white pill floating on the band */
html body.blog .loop-entry .entry-taxonomies, html body.archive .loop-entry .entry-taxonomies {
  position: absolute !important; top: -20px !important; left: 26px !important; margin: 0 !important; z-index: 5;
}
html body.blog .loop-entry .entry-taxonomies a, html body.archive .loop-entry .entry-taxonomies a {
  background: #ffffff !important; border: none !important; color: #1c2333 !important;
  padding: 8px 16px !important; border-radius: 999px !important;
  font-size: 12px !important; font-weight: 800 !important; letter-spacing: .2px !important; text-transform: none !important;
  box-shadow: 0 10px 24px -8px rgba(0,0,0,.4) !important;
}

/* TITLE — dark navy serif */
html body.blog .loop-entry .entry-title a, html body.archive .loop-entry .entry-title a,
html body.blog .loop-entry .entry-title a:link, html body.blog .loop-entry .entry-title a:visited,
html body.archive .loop-entry .entry-title a:visited {
  color: #16203a !important; font-family: 'Fraunces',Georgia,serif !important;
  font-size: 19px !important; font-weight: 700 !important; line-height: 1.3 !important;
}
html body.blog .loop-entry:hover .entry-title a, html body.archive .loop-entry:hover .entry-title a { color: #c9a24b !important; }

/* EXCERPT — gray */
html body.blog .loop-entry .entry-summary, html body.blog .loop-entry .entry-summary p,
html body.archive .loop-entry .entry-summary, html body.archive .loop-entry .entry-summary p {
  color: #5c6478 !important; font-size: 14.5px !important; line-height: 1.6 !important; margin: 12px 0 0 !important;
}

/* FOOTER — divider + date (left) + Read → (right) */
html body.blog .loop-entry .entry-meta, html body.archive .loop-entry .entry-meta {
  border-top: 1px solid #edf0f5 !important; margin-top: 20px !important; padding-top: 16px !important;
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  color: #9aa1b0 !important; font-size: 13.5px !important; font-weight: 600 !important;
}
html body.blog .entry-meta .posted-by, html body.blog .entry-meta .byline,
html body.blog .entry-meta .comments-link, html body.archive .entry-meta .posted-by,
html body.archive .entry-meta .byline, html body.archive .entry-meta .comments-link { display: none !important; }
html body.blog .entry-meta a, html body.archive .entry-meta a { color: #9aa1b0 !important; }
html body.blog .loop-entry .entry-meta::after, html body.archive .loop-entry .entry-meta::after {
  content: 'Read \2192'; color: #c9a24b !important; font-weight: 800 !important; font-size: 14px; white-space: nowrap;
}

/* =========================================================
   CONTACT — Ahmedabad map
   ========================================================= */
.pg-map { padding: 30px 0 90px; background: var(--d-bg) !important; }
.pg-map .pg-sec-head { margin-bottom: 34px; }
.pg-map__frame {
  border-radius: 22px; overflow: hidden; border: 1px solid var(--d-line);
  box-shadow: 0 30px 70px -34px rgba(0,0,0,.9); line-height: 0;
}
.pg-map__frame iframe { display: block; width: 100%; filter: grayscale(.25) contrast(1.05); }

/* =========================================================
   ★ SINGLE BLOG POST — premium dark redesign
   ========================================================= */
.single .entry-content { max-width: 760px !important; margin: 0 auto !important; font-size: 17px !important; line-height: 1.85 !important; color: var(--d-text-2) !important; }
.single .entry-content p { margin: 0 0 22px !important; }
.single .entry-content h2 { font-family:'Fraunces',Georgia,serif !important; font-size: 30px !important; color: var(--d-text) !important; margin: 44px 0 16px !important; }
.single .entry-content h3 { font-family:'Fraunces',Georgia,serif !important; font-size: 23px !important; color: var(--d-text) !important; margin: 34px 0 12px !important; }
.single .entry-content a:not([class*="btn"]) { color: var(--d-gold-2) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(201,162,75,.4); }
/* drop-cap on first paragraph */
.single .entry-content > p:first-of-type::first-letter {
  font-family:'Fraunces',Georgia,serif; font-size: 64px; font-weight: 700; color: var(--d-gold);
  float: left; line-height: .8; margin: 6px 14px 0 0;
}
/* blockquote */
.single .entry-content blockquote {
  border-left: 3px solid var(--d-gold) !important; background: rgba(201,162,75,.06);
  padding: 18px 26px !important; border-radius: 0 14px 14px 0; margin: 28px 0 !important;
  font-family:'Fraunces',Georgia,serif; font-style: italic; color: var(--d-text) !important;
}
/* featured image */
.single .post-thumbnail img, .single .entry-hero img { border-radius: 20px !important; }
/* single hero title already dark-blue via page rules; meta */
.single .entry-meta, .single .entry-meta a { color: var(--d-text-3) !important; }
.single .entry-content img { border-radius: 16px !important; box-shadow: 0 24px 54px -30px rgba(0,0,0,.8); }
/* tags / taxonomies footer */
.single .entry-taxonomies a {
  display: inline-block; background: rgba(201,162,75,.1); border: 1px solid rgba(201,162,75,.35);
  color: var(--d-gold-2) !important; padding: 5px 14px; border-radius: 999px; font-size: 13px;
  text-decoration: none !important; margin: 4px 6px 4px 0;
}
/* author box / related — keep cards dark */
.single .author-box, .single .related-posts, .single .comments-area {
  background: linear-gradient(160deg,var(--d-card),var(--d-card-2)) !important;
  border: 1px solid var(--d-line) !important; border-radius: 18px !important;
}

/* blog cards — hide description/excerpt, title-only */
html body.blog .loop-entry .entry-summary,
html body.archive .loop-entry .entry-summary { display: none !important; }
html body.blog .loop-entry .entry-meta,
html body.archive .loop-entry .entry-meta { margin-top: 14px !important; }

/* =========================================================
   ★★ SINGLE POST — luxury redesign (image hero + editorial body)
   ========================================================= */
/* full-width breakout */
.single .content-container.site-container { max-width: 100% !important; padding: 0 !important; }
.single .entry.single-entry { background: transparent !important; box-shadow: none !important; padding: 0 !important; border: none !important; }
.single .entry-content-wrap { padding: 0 !important; position: relative !important; background: transparent !important; }
.single .content-area { margin: 0 !important; }

/* ---- HERO: featured image behind, dark overlay, title at bottom ---- */
.single .post-thumbnail.article-post-thumbnail {
  position: absolute !important; top: 0; left: 0; right: 0; height: 540px !important;
  z-index: 0 !important; overflow: hidden !important; margin: 0 !important; border-radius: 0 !important;
}
.single .article-post-thumbnail .post-thumbnail-inner,
.single .article-post-thumbnail img {
  width: 100% !important; height: 540px !important; object-fit: cover !important; border-radius: 0 !important;
}
.single .article-post-thumbnail::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(13,17,23,.45) 0%, rgba(13,17,23,.80) 65%, #0d1117 100%);
}
/* header sits over the hero, content anchored to bottom */
.single .entry-header.post-title {
  position: relative !important; z-index: 3 !important; min-height: 540px;
  display: flex !important; flex-direction: column; justify-content: flex-end; align-items: center;
  text-align: center; max-width: 880px; margin: 0 auto !important; padding: 0 24px 54px !important;
}
/* category → gold pill */
.single .entry-header .entry-taxonomies { margin: 0 0 18px !important; }
.single .entry-header .entry-taxonomies a {
  display: inline-block; background: linear-gradient(135deg, var(--d-gold), var(--d-gold-2)) !important;
  color: #11161f !important; padding: 7px 16px !important; border-radius: 999px !important;
  font-size: 12px !important; font-weight: 800 !important; letter-spacing: .8px !important;
  text-transform: uppercase !important; text-decoration: none !important;
  box-shadow: 0 10px 26px -8px rgba(201,162,75,.6) !important;
}
/* title */
html body.single .entry-header .entry-title {
  color: #f7f2e6 !important; font-family: 'Fraunces',Georgia,serif !important;
  font-size: 50px !important; font-weight: 700 !important; line-height: 1.1 !important;
  letter-spacing: -.01em; margin: 0 0 18px !important; max-width: 900px;
  text-shadow: 0 2px 30px rgba(0,0,0,.5);
}
/* meta */
.single .entry-header .entry-meta,
.single .entry-header .entry-meta a,
.single .entry-header .entry-meta span { color: #d6dae2 !important; font-size: 14px !important; }
.single .entry-header .entry-meta { justify-content: center !important; gap: 6px; }

/* ---- ARTICLE BODY ---- */
.single .entry-content.single-content {
  position: relative; z-index: 2; background: #0d1117;
  max-width: 760px !important; margin: 0 auto !important; padding: 56px 24px 40px !important;
  font-size: 17.5px !important; line-height: 1.9 !important; color: #cdd3df !important;
}
.single .entry-content p { margin: 0 0 24px !important; }
.single .entry-content > p:first-of-type::first-letter {
  font-family: 'Fraunces',Georgia,serif; font-size: 70px; font-weight: 700; color: var(--d-gold);
  float: left; line-height: .78; margin: 8px 16px 0 0;
}
.single .entry-content h2 { font-family:'Fraunces',Georgia,serif !important; font-size: 31px !important; color: #f5efe0 !important; margin: 48px 0 16px !important; }
.single .entry-content h3 { font-family:'Fraunces',Georgia,serif !important; font-size: 24px !important; color: #f5efe0 !important; margin: 36px 0 12px !important; }
.single .entry-content a:not([class*="btn"]) { color: var(--d-gold-2) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(201,162,75,.4); }
.single .entry-content blockquote {
  border-left: 3px solid var(--d-gold) !important; background: rgba(201,162,75,.07) !important;
  padding: 22px 28px !important; border-radius: 0 16px 16px 0 !important; margin: 32px 0 !important;
  font-family:'Fraunces',Georgia,serif !important; font-style: italic; font-size: 20px; color: #f5efe0 !important;
}
.single .entry-content img { border-radius: 16px !important; box-shadow: 0 30px 60px -30px rgba(0,0,0,.85); }
.single .entry-content ul li, .single .entry-content ol li { color: #cdd3df !important; margin-bottom: 10px; }

/* tags footer */
.single .entry-taxonomies.tagcloud a, .single .entry-footer a[rel="tag"] {
  display:inline-block; background: rgba(201,162,75,.1); border:1px solid rgba(201,162,75,.35);
  color: var(--d-gold-2) !important; padding:5px 14px; border-radius:999px; font-size:13px;
  text-decoration:none !important; margin:4px 6px 4px 0;
}

@media (max-width: 700px){
  .single .post-thumbnail.article-post-thumbnail, .single .article-post-thumbnail img,
  .single .article-post-thumbnail .post-thumbnail-inner { height: 400px !important; }
  .single .entry-header.post-title { min-height: 400px; padding-bottom: 38px !important; }
  html body.single .entry-header .entry-title { font-size: 32px !important; }
}

/* =========================================================
   WRITE-FOR-US hero "Submit a Pitch" — gold bg + dark text
   (was navy bg + dark text = invisible)
   ========================================================= */
body:not(.home) .entry-content .pg-mission .pm-btn--solid,
body:not(.home) .entry-content .pg-mission a.pm-btn--solid,
body:not(.home) .entry-content .pg-mission .pm-btn--solid:hover,
body:not(.home) .entry-content .pg-mission .pm-btn--solid:focus {
  background: linear-gradient(135deg, var(--d-gold), var(--d-gold-2)) !important;
  color: #11161f !important; border: none !important; text-decoration: none !important;
  box-shadow: 0 16px 38px -14px rgba(201,162,75,.55) !important;
  display: inline-block; margin-top: 10px;
}
body:not(.home) .entry-content .pg-mission .pm-btn--solid:hover {
  filter: brightness(1.05); transform: translateY(-2px);
  box-shadow: 0 22px 50px -16px rgba(201,162,75,.7) !important;
}

/* =========================================================
   CONTACT info-card CTAs ("Schedule via Email →" etc.)
   master [class*=cta] rule was forcing them black on dark card
   ========================================================= */
body:not(.home) .entry-content .pg-cinfo-card a.pg-cinfo-cta,
body:not(.home) .entry-content .pg-contact__info a.pg-cinfo-cta {
  color: var(--d-gold-2) !important;
}
body:not(.home) .entry-content .pg-cinfo-card a.pg-cinfo-cta:hover { color: var(--d-gold) !important; }
/* light-variant (bordered) CTA on dark card */
body:not(.home) .entry-content .pg-cinfo-card a.pg-cinfo-cta--light {
  color: #f5efe0 !important; border: 1.5px solid rgba(201,162,75,.55) !important;
}
body:not(.home) .entry-content .pg-cinfo-card a.pg-cinfo-cta--light:hover {
  background: var(--d-gold) !important; color: #11161f !important; border-color: var(--d-gold) !important;
}

/* =========================================================
   BLOG INDEX — wider full-width
   ========================================================= */
.blog .content-area, .archive .content-area { max-width: 1480px !important; padding-left: 30px !important; padding-right: 30px !important; }
.pm-blog-layout { grid-template-columns: 1fr 330px !important; gap: 50px !important; }

/* =========================================================
   SINGLE — SHARE bar
   ========================================================= */
.pm-share {
  max-width: 760px; margin: 10px auto 0; padding: 26px 24px 0;
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  border-top: 1px solid var(--d-line); position: relative; z-index: 2;
}
.pm-share__label { font-family:'Fraunces',Georgia,serif; font-size: 18px; color: var(--d-text); }
.pm-share__btns { display: flex; gap: 12px; }
.pm-share__btn {
  width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(160deg,var(--d-card),var(--d-card-2)); border: 1px solid var(--d-line);
  color: var(--d-text-2) !important; transition: transform .25s, background .25s, color .25s, border-color .25s;
}
.pm-share__btn svg { width: 18px; height: 18px; }
.pm-share__btn:hover { transform: translateY(-3px); color: #11161f !important; border-color: var(--d-gold); }
.pm-share__btn.fb:hover { background: #1877f2; color:#fff !important; border-color:#1877f2; }
.pm-share__btn.x:hover  { background: #fff; color:#11161f !important; }
.pm-share__btn.li:hover { background: #0a66c2; color:#fff !important; border-color:#0a66c2; }
.pm-share__btn.ig:hover { background: linear-gradient(45deg,#f09433,#dc2743,#bc1888); color:#fff !important; border-color:#dc2743; }

/* =========================================================
   SINGLE — PREV / NEXT navigation
   ========================================================= */
.single .post-navigation, .single nav.navigation { max-width: 800px; margin: 50px auto 0; padding: 0 24px; }
.single .post-navigation .nav-links {
  display: grid !important; grid-template-columns: 1fr 1fr; gap: 18px;
}
.single .nav-previous a, .single .nav-next a {
  display: block; background: linear-gradient(160deg,var(--d-card),var(--d-card-2)) !important;
  border: 1px solid var(--d-line); border-radius: 16px; padding: 20px 22px;
  text-decoration: none !important; transition: transform .3s, border-color .3s;
  color: var(--d-text) !important; font-family:'Fraunces',Georgia,serif; font-size: 16px; line-height: 1.35;
}
.single .nav-next a { text-align: right; }
.single .nav-previous a:hover, .single .nav-next a:hover { transform: translateY(-4px); border-color: rgba(201,162,75,.5); }
.single .post-navigation-sub small, .single .post-navigation-sub span {
  display: block; color: var(--d-gold) !important; font-family:'Inter',sans-serif; font-size: 11px !important;
  font-weight: 700; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 8px;
}

/* =========================================================
   SINGLE — RELATED ("Similar Posts")
   ========================================================= */
.single .entry-related {
  background: linear-gradient(180deg, var(--d-bg-2), var(--d-bg)) !important;
  padding: 70px 0 !important; border-top: 1px solid var(--d-line); margin-top: 60px;
}
.single .entry-related-title {
  font-family:'Fraunces',Georgia,serif !important; font-size: 32px !important; color: var(--d-text) !important;
  text-align: center; margin: 0 0 44px !important;
}
.single .entry-related .loop-entry, .single .entry-related .content-bg {
  background: linear-gradient(165deg,#1c2333,#141a28) !important; border: 1px solid var(--d-line) !important;
  border-radius: 18px !important; overflow: hidden !important;
}
.single .entry-related .post-thumbnail { position: relative !important; height: 150px !important; }
.single .entry-related .post-thumbnail img, .single .entry-related .post-thumbnail-inner { height: 150px !important; object-fit: cover !important; }
.single .entry-related .entry-content-wrap { padding: 20px 20px 22px !important; background: transparent !important; }
.single .entry-related .entry-title { margin: 6px 0 0 !important; }
.single .entry-related .entry-title a {
  color: var(--d-text) !important; font-family:'Fraunces',Georgia,serif !important;
  font-size: 17px !important; font-weight: 600 !important; line-height: 1.3 !important; text-decoration: none !important;
}
.single .entry-related .entry-title a:hover { color: var(--d-gold-2) !important; }
.single .entry-related .entry-taxonomies a {
  color: var(--d-gold) !important; font-size: 11px !important; letter-spacing: 1px !important;
  text-transform: uppercase !important; text-decoration: none !important;
}
.single .entry-related .entry-meta, .single .entry-related .entry-meta a { color: var(--d-text-3) !important; font-size: 12.5px !important; }
/* carousel arrows/dots */
.single .entry-related .splide__arrow { background: var(--d-card) !important; border: 1px solid var(--d-line) !important; opacity: 1 !important; }
.single .entry-related .splide__arrow svg { fill: var(--d-gold) !important; }
.single .entry-related .splide__pagination__page.is-active { background: var(--d-gold) !important; }

/* =========================================================
   SINGLE — COMMENTS
   ========================================================= */
.single .comments-area { max-width: 760px; margin: 0 auto !important; padding: 56px 24px !important; background: var(--d-bg) !important; }
.single .comments-title, .single .comment-reply-title {
  font-family:'Fraunces',Georgia,serif !important; font-size: 26px !important; color: var(--d-text) !important; margin: 0 0 24px !important;
}
.single .comment-list { list-style: none; padding: 0; margin: 0 0 40px; }
.single .comment-body {
  background: linear-gradient(160deg,var(--d-card),var(--d-card-2)) !important;
  border: 1px solid var(--d-line); border-radius: 16px; padding: 22px 24px; margin-bottom: 16px;
}
.single .comment-author .fn, .single .comment-author a { color: var(--d-text) !important; font-weight: 700; }
.single .comment-metadata, .single .comment-metadata a { color: var(--d-text-3) !important; font-size: 12.5px; }
.single .comment-content, .single .comment-content p { color: var(--d-text-2) !important; }
.single .comment-respond, .single #respond {
  background: linear-gradient(160deg,var(--d-card),var(--d-card-2)) !important;
  border: 1px solid var(--d-line); border-radius: 20px; padding: 30px 28px;
}
.single #respond p { color: var(--d-text-2) !important; }
.single #respond input[type="text"], .single #respond input[type="email"],
.single #respond input[type="url"], .single #respond textarea {
  width: 100%; box-sizing: border-box; background: #0f141d !important;
  border: 1.5px solid rgba(255,255,255,.12) !important; border-radius: 11px !important;
  color: var(--d-text) !important; padding: 12px 14px !important; margin-bottom: 14px;
}
.single #respond input:focus, .single #respond textarea:focus { border-color: var(--d-gold) !important; outline: none; }
.single #respond ::placeholder { color: #6b7280 !important; }
.single #respond .submit, .single #respond input[type="submit"] {
  background: linear-gradient(135deg, var(--d-gold), var(--d-gold-2)) !important; color: #11161f !important;
  border: none !important; border-radius: 12px !important; padding: 13px 30px !important; font-weight: 800 !important;
  cursor: pointer; transition: transform .2s, filter .2s;
}
.single #respond input[type="submit"]:hover { transform: translateY(-2px); filter: brightness(1.05); }

@media (max-width: 700px){
  .single .post-navigation .nav-links { grid-template-columns: 1fr; }
  .pm-share { flex-direction: column; align-items: flex-start; }
}
