/* Hide theme header and footer */
body.home header.wp-block-template-part { display: none !important; }
body.home footer.wp-block-template-part { display: none !important; }
/* Force full-width layout */
.wp-site-blocks { padding: 0 !important; max-width: none !important; }
.wp-site-blocks > .wp-block-group { max-width: none !important; padding: 0 !important; margin: 0 !important; }
.wp-site-blocks .wp-block-post-content { max-width: none !important; padding: 0 !important; margin: 0 !important; }
.wp-site-blocks .entry-content { max-width: none !important; padding: 0 !important; }
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width: none !important; }
.wp-block-group.is-layout-constrained { max-width: none !important; }
.has-global-padding { padding-left: 0 !important; padding-right: 0 !important; }
.wp-block-post-content.is-layout-constrained > * { max-width: none !important; }
body .is-layout-constrained > * { max-width: none !important; }
.wp-site-blocks > main { max-width: none !important; }
/* Ensure nav stretches full width */
#mainNav { width: 100vw !important; left: 0 !important; }
.nav-main { width: 100% !important; }
/* Fix nav spacing for smaller screens */
.nav-links { gap: 1.2rem !important; }
.nav-links a { letter-spacing: 1.8px !important; font-size: .68rem !important; }
.nav-cta { font-size: .62rem !important; letter-spacing: 2.5px !important; }
/* === Layout fixes added by Claude === */
/* 1. Hero stats row horizontal */
.hero-bottom {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.5rem 2rem;
  width: 100%;
}
.hero-bottom .hero-stat {
  flex: 1 1 0;
  min-width: 140px;
  text-align: center;
}
.hero-bottom .stat-div {
  width: 1px;
  align-self: stretch;
  min-height: 48px;
  background: rgba(255,255,255,0.2);
}
/* 2. Bottom trust bar (40+ / 10K / CPA / IRS) horizontal and centered */
.cred-bar {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 2rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.cred-bar .cred-item {
  flex: 1 1 0;
  min-width: 160px;
  text-align: center;
}
/* CTA banner trust signals row also horizontal & centered */
.cta-trust-signals {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  width: 100%;
  margin: 1.5rem auto;
}
.cta-trust-signals .cta-trust-badge {
  text-align: center;
  flex: 0 1 auto;
}
/* 3. "Request a Consultation" CTA centered */
.cta-banner { text-align: center !important; }
.cta-banner > p { text-align: center !important; }
.cta-banner-btn {
  display: inline-block;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* 4 & 5. Footer side margins + every column in one responsive row.
   .footer-top wraps the brand + 3 cols; Resources (.footer-col) and
   Newsletter (a class-less div) are direct siblings of .footer-top.
   We use display:contents on .footer-top so all six columns share
   the same CSS grid on the parent footer. */
.entry-content > footer {
  padding-left: clamp(1.25rem, 4vw, 4rem) !important;
  padding-right: clamp(1.25rem, 4vw, 4rem) !important;
  padding-top: 3rem !important;
  padding-bottom: 2rem !important;
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr 1.4fr;
  gap: 2rem;
  align-items: start;
}
.entry-content > footer > .footer-top {
  display: contents !important;
}
.entry-content > footer > .footer-top > .footer-brand {
  grid-column: 1;
}
.entry-content > footer > .footer-top > p:empty {
  display: none !important;
}
.entry-content > footer > p:empty {
  display: none !important;
}
.entry-content > footer > .footer-bottom {
  grid-column: 1 / -1;
  margin-top: 1.5rem;
}
/* Responsive collapse */
@media (max-width: 1200px) {
  .entry-content > footer {
    grid-template-columns: 1fr 1fr 1fr !important;
  }
  .entry-content > footer > .footer-top > .footer-brand {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 760px) {
  .entry-content > footer {
    grid-template-columns: 1fr 1fr !important;
  }
  .entry-content > footer > .footer-top > .footer-brand {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 480px) {
  .entry-content > footer {
    grid-template-columns: 1fr !important;
  }
}
/* 6. Footer always sits at the bottom of the page (sticky-footer pattern).
   We make the page a column flex container so the main content grows
   and the footer is naturally pushed to the bottom even on short pages. */
html,
body { min-height: 100%; }
body.wp-singular { min-height: 100vh; }
.wp-site-blocks {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.wp-site-blocks > main {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}
.wp-site-blocks > main > .entry-content {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}
.entry-content > footer {
  margin-top: auto;
  background: #0b0b0b;
}
/* Fee Estimator CTA: hide duplicate empty button (second a wrapped in p) */
#services .fee-estimator-cta > p { display: none !important; }
/* Autofill override -- stops Chrome/Edge yellow tint on form fields */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill {
  -webkit-text-fill-color: #000000 !important;
  -webkit-box-shadow: 0 0 0 1000px #FAFAF8 inset !important;
  caret-color: #B8976A !important;
  transition: background-color 9999s ease-in-out 0s !important;
}
/* For pages that use a dark form theme (Fee Estimator, calculator inputs) */
.estimator-wrap input:-webkit-autofill,
.estimator-wrap textarea:-webkit-autofill,
.bp-page input:-webkit-autofill,
.bp-page textarea:-webkit-autofill,
.bp-page select:-webkit-autofill {
  -webkit-text-fill-color: #EDE6DA !important;
  -webkit-box-shadow: 0 0 0 1000px #0A0A0A inset !important;
}
/* Force text input color to black for all form text entry fields */
input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="password"],
input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="time"],
input[type="week"],
input:not([type]),
textarea,
select {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}
/* Ensure autofilled values also display as black text */
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: #000000 !important;
  caret-color: #000000 !important;
}
/* ============================================
   FAQ Section -- The Reed Corporation
   Matches site palette: cream text, gold accent,
   Cormorant Garamond headings, Inter body
   ============================================ */
/* Container -- align to the same 736px reading column as body copy */
.seo-faq {
  max-width: 736px;
  margin: 3rem auto 4rem;
  padding: 0 1rem;
  font-family: "Inter", sans-serif;
  color: #fafaf8;
}
/* Section heading "Frequently Asked Questions" */
.seo-faq h2 {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.2;
  color: #fafaf8;
  margin: 0 0 1.5rem;
  text-align: left;
}
/* Each question/answer pair */
.seo-faq-item {
  border-bottom: 1px solid rgba(184, 151, 106, 0.25);
  padding: 0;
  margin: 0;
  background: transparent;
  transition: background-color 0.2s ease;
}
.seo-faq-item:first-of-type {
  border-top: 1px solid rgba(184, 151, 106, 0.25);
}
/* Question (the clickable summary) */
.seo-faq-item summary {
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: #fafaf8;
  cursor: pointer;
  list-style: none;
  padding: 1.25rem 2.5rem 1.25rem 0;
  position: relative;
  outline: none;
  user-select: none;
  line-height: 1.5;
  transition: color 0.2s ease;
}
/* Hide default browser disclosure triangles */
.seo-faq-item summary::-webkit-details-marker { display: none; }
.seo-faq-item summary::marker { content: ""; }
/* Custom plus/minus indicator on the right side */
.seo-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Cormorant Garamond", serif;
  font-size: 1.6rem;
  font-weight: 300;
  color: #b8976a;
  transition: transform 0.25s ease, content 0.2s ease;
  line-height: 1;
}
.seo-faq-item[open] summary::after {
  content: "\2212";
  color: #b8976a;
}
/* Hover state on the question */
.seo-faq-item summary:hover {
  color: #b8976a;
}
.seo-faq-item summary:focus-visible {
  outline: 1px dashed rgba(184, 151, 106, 0.6);
  outline-offset: 4px;
}
/* Answer body */
.seo-faq-answer {
  padding: 0 2.5rem 1.5rem 0;
  font-size: 0.95rem;
  line-height: 1.7;
  color: rgba(250, 250, 248, 0.82);
}
.seo-faq-answer p {
  margin: 0 0 1rem;
}
.seo-faq-answer p:last-child {
  margin-bottom: 0;
}
.seo-faq-answer a {
  color: #b8976a;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.seo-faq-answer a:hover {
  color: #d4b58a;
}
/* Smooth expand animation (modern browsers) */
.seo-faq-item[open] .seo-faq-answer {
  animation: faqFadeIn 0.3s ease;
}
@keyframes faqFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* Mobile adjustments */
@media (max-width: 768px) {
  .seo-faq {
    margin: 2rem auto 3rem;
    padding: 0 1.25rem;
  }
  .seo-faq h2 {
    font-size: 1.75rem;
  }
  .seo-faq-item summary {
    font-size: 0.95rem;
    padding-right: 2rem;
  }
  .seo-faq-answer {
    padding-right: 0;
    font-size: 0.9rem;
  }
}
/* ---- Misc contrast fixes (kept) ----
   The bp-svc-btn / key-takeaway / bp-cta / bp-services / faq-item color-only rules that
   used to sit here are SUPERSEDED by the reedcorp-design-system block at the end of this
   file (which sets correct color AND layout). Only the non-design-system fixes remain. */
a#wp-skip-link { color: #e6e6e6; }
.service-option .service-label,
.service-option p span { color: #f5f0e8; }
h2#page-not-found,
main#wp--skip-link--target p,
.wp-block-search__label { color: #e6e6e6; }
/* reedcorp-cta-opener:start */
/* CTA opener -- force .hub-cta details.faq-item always-visible on city hubs.
   Scoped to .hub-cta so the site-wide FAQ accordions (also .faq-item) keep
   their normal collapsible behavior on other pages. */
.hub-cta details.faq-item { display: block; }
.hub-cta details.faq-item summary {
  list-style: none;
  pointer-events: none;
  cursor: default;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: #FAFAF8;
  margin-bottom: 0.5rem;
}
.hub-cta details.faq-item summary::-webkit-details-marker { display: none; }
.hub-cta details.faq-item summary::marker { display: none; }
.hub-cta details.faq-item .faq-answer {
  display: block !important;
  color: #C9BFB0;
  font-size: 1rem;
  line-height: 1.7;
}
.hub-cta details.faq-item .faq-answer p { margin: 0; }
/* bp-citations -- only on the 3 city hubs (page IDs 6713/6960/6961).
   Scoped by body.page-id so we don't override the bp-page template's
   existing .bp-citations rules on the 280+ blog posts that use the
   same class via their own inline CSS. */
.bp-citations {
  max-width: 900px;
  margin: 2rem auto;
  padding: 2rem;
  background: #0A0A0A;
  border-top: 1px solid rgba(184, 151, 106, 0.18);
}
.bp-citations h3 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  color: #FAFAF8;
  font-size: 1.5rem;
  text-align: center;
  margin: 0 0 1rem;
}
.bp-citations ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 0.5rem;
}
.bp-citations li {
  margin: 0;
  padding: 0.55rem 0.8rem;
  font-size: 0.85rem;
  line-height: 1.5;
  color: #C9BFB0;
  background: #141414;
  border-left: 2px solid rgba(184, 151, 106, 0.3);
  border-radius: 0 4px 4px 0;
}
.bp-citations li a {
  color: #B8976A;
  text-decoration: none;
}
.bp-citations li a:hover {
  text-decoration: underline;
}
/* reedcorp-cta-opener:end */
/* reedcorp-2col-grids:start */
/* 2-column layout for all hub/grid sections. Collapses to 1 column on
   screens narrower than 640px. */
/* Who We Serve grid -- city hub niche cards */
.hub-client-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1rem !important;
}
/* Our Services grid -- city hub service cards */
.hub-svc-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1rem !important;
}
/* Tax Services & Guides ribbon (NY/LA/Miami) */
.city-ribbon-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0.75rem !important;
}
/* Sources and Further Reading -- bp-citations list */
.bp-citations ul {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0.5rem !important;
}
/* State hub "Choose the [State] tax topic" -- 4 cards in 2x2 */
.tax-topic-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0.85rem !important;
}
/* Mobile: collapse to single column */
@media (max-width: 640px) {
  .hub-client-grid,
  .hub-svc-grid,
  .city-ribbon-grid,
  .bp-citations ul,
  .tax-topic-grid {
    grid-template-columns: 1fr !important;
  }
}
/* CARD UNIFICATION -- fixes the "3 clickable boxes per item" rendering.
   wpautop inserts <p>/</p> between the inner block elements of each card,
   making title/desc/arrow appear as 3 stacked boxes. We force each anchor
   to render as a single visual block with no internal spacing artifacts. */
a.hub-svc-card,
a.hub-client-card {
  display: block !important;
  padding: 1.6rem 1.4rem !important;
  background: #141414 !important;
  border: 1px solid rgba(184, 151, 106, 0.25) !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  min-height: 110px !important;
}
a.hub-svc-card:hover,
a.hub-client-card:hover {
  background: #1E1E1E !important;
  border-color: #B8976A !important;
  transform: translateY(-2px) !important;
}
/* Kill the empty <p> tags wpautop inserted inside the cards */
a.hub-svc-card > p:empty,
a.hub-client-card > p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Kill any rogue <br> tags between cards in the grid */
.hub-svc-grid > br,
.hub-client-grid > br,
.city-ribbon-grid > br {
  display: none !important;
}
/* Make the inner elements render inline-flow within the single card */
.hub-svc-card .hub-svc-title,
.hub-client-card .hub-client-name {
  display: block !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  color: #FAFAF8 !important;
  margin: 0 0 0.4rem 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.hub-svc-card .hub-svc-desc {
  display: block !important;
  font-size: 0.85rem !important;
  line-height: 1.55 !important;
  color: #C9BFB0 !important;
  margin: 0 0 0.6rem 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.hub-svc-card .hub-svc-arrow {
  display: inline-block !important;
  font-size: 0.75rem !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #B8976A !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}
.hub-svc-card:hover .hub-svc-arrow {
  color: #D4B896 !important;
}
/* reedcorp-2col-grids:end */
/* reedcorp-seofaq-align:start */
/* .bp-page wrapper: ensure it centers within its parent container,
   overriding any theme inline margin that pushes it left. */
.bp-page {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* .seo-faq alignment fix on bp-page sub-pages:
   widen to match the bp-page section column AND center the heading. */
.bp-page .seo-faq,
.seo-faq {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.bp-page .seo-faq h2,
.seo-faq h2 {
  text-align: center !important;
}
/* The FAQ items themselves stay left-aligned so questions read naturally. */
.bp-page .seo-faq-item summary,
.seo-faq-item summary {
  text-align: left !important;
}
/* reedcorp-seofaq-align:end */
/* === 2026-05-21: Fix dropdown background on calculator pages === */
/* The .calc-row select rule sets background:#0A0A0A which matches the page bg.
   Browser autofill paints inputs white-ish but selects stay black. Override both
   so dropdowns and free-text fields visually match. */
.calc-row input[type="number"],
.calc-row input[type="text"],
.calc-row select{
  background:#EDE6DA !important;
  color:#0A0A0A !important;
  border:1px solid rgba(184,151,106,.35) !important;
}
.calc-row input:focus,
.calc-row select:focus{
  border-color:#B8976A !important;
  outline:none !important;
}
/* Style the option list itself for browsers that respect option styling */
.calc-row select option{
  background:#EDE6DA !important;
  color:#0A0A0A !important;
}
/* === calculators-hub-redesign:start === */
/* bp-page core for the calculators hub */
body.page-id-5347 .bp-page{max-width:1000px;margin:0 auto;padding:2rem 1.5rem;font-family:"Jost","Helvetica Neue",Arial,sans-serif;color:#EDE6DA;line-height:1.7}
body.page-id-5347 .bp-bc{font-size:.72rem;color:#9A9A9A;margin-bottom:1.5rem;letter-spacing:.5px;text-transform:uppercase}
body.page-id-5347 .bp-bc a{color:#B8976A;text-decoration:none}
body.page-id-5347 .bp-bc a:hover{text-decoration:underline}
body.page-id-5347 .bp-hdr{text-align:center;max-width:800px;margin:0 auto 2rem}
body.page-id-5347 .bp-hdr .bp-overline{display:block;font-size:.65rem;letter-spacing:3px;color:#B8976A;text-transform:uppercase;margin-bottom:.6rem;font-weight:400}
body.page-id-5347 .bp-hdr h1{font-family:"Cormorant Garamond",serif;font-size:2.1rem;font-weight:400;color:#FAFAF8;margin:0 0 .8rem;line-height:1.25;letter-spacing:.5px}
body.page-id-5347 .bp-intro{max-width:800px;margin:0 auto 2rem;text-align:center;font-size:.92rem;color:#C9BFB0;line-height:1.8;font-weight:300}
body.page-id-5347 .bp-intro p{margin:0;font-size:inherit;color:inherit;line-height:inherit}
/* Jump nav */
body.page-id-5347 .bp-jump{max-width:800px;margin:0 auto;padding:.5rem 2rem 1.5rem;border-bottom:1px solid rgba(184,151,106,.12)}
body.page-id-5347 .bp-jump h3{font-family:"Cormorant Garamond",serif;font-size:1rem;color:#FAFAF8;margin:0 0 .6rem;font-weight:400}
body.page-id-5347 .bp-jump a{display:inline-block;padding:.35rem .9rem;margin:0 .4rem .4rem 0;border:1px solid rgba(184,151,106,.15);border-radius:20px;color:#B8976A;text-decoration:none;font-size:.78rem;font-weight:300;transition:all .3s}
body.page-id-5347 .bp-jump a:hover{background:rgba(184,151,106,.1);border-color:#B8976A}
body.page-id-5347 .tsg-jump-centered{text-align:center}
/* Section headers */
body.page-id-5347 .tsg-section-header{font-family:"Cormorant Garamond",serif;font-size:1.6rem;font-weight:400;color:#FAFAF8;text-align:center;margin:2rem auto 1rem;letter-spacing:.5px;max-width:800px}
/* Guide sections + cards */
body.page-id-5347 .bp-guide-section{max-width:800px;margin:2rem auto;padding:0}
body.page-id-5347 .bp-guide-section-title{font-family:"Cormorant Garamond",serif;font-size:1.35rem;font-weight:400;color:#B8976A;text-align:center;margin:2.5rem 0 .5rem;letter-spacing:.5px;padding-top:1.5rem;border-top:1px solid rgba(184,151,106,.18)}
body.page-id-5347 .bp-guide-section .section-desc,
body.page-id-5347 .section-desc{text-align:center;font-size:.82rem;color:#9A9A9A;margin:0 auto 1.2rem;max-width:650px;line-height:1.6}
body.page-id-5347 .bp-guide-section .bp-svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
/* wpautop inserts <br /> between each card and wraps blocks in <p>. Strip them out so they don't claim grid cells. */
body.page-id-5347 .bp-svc-grid > br,
body.page-id-5347 .bp-guide-section > br,
body.page-id-5347 .bp-page > br{display:none !important}
body.page-id-5347 .bp-svc-grid > p,
body.page-id-5347 .bp-guide-section > p:empty{display:contents !important}
body.page-id-5347 p:empty{display:none !important}
/* Also hide the inline <style> block that wpautop shattered with <p> tags - we've moved styles to Customizer */
body.page-id-5347 .bp-page > style,
body.page-id-5347 .bp-page p > style{display:none !important}
body.page-id-5347 .bp-guide-section a.bp-svc-btn{display:block;padding:1.05rem 1.1rem;background:#141414;border:1px solid rgba(184,151,106,.3);color:#EDE6DA;text-decoration:none;font-size:.88rem;line-height:1.45;font-weight:400;transition:all .25s;border-radius:4px;min-height:44px}
body.page-id-5347 .bp-guide-section a.bp-svc-btn:hover{border-color:#B8976A;background:#1E1E1E;transform:translateY(-1px);box-shadow:0 4px 14px rgba(184,151,106,.12)}
body.page-id-5347 .bp-guide-section a.bp-svc-btn .bp-svc-label{display:block;font-size:.6rem;letter-spacing:2.5px;color:#B8976A;text-transform:uppercase;margin-bottom:.4rem;font-weight:400}
body.page-id-5347 .bp-guide-section a.bp-svc-btn .bp-svc-desc{display:block;font-size:.74rem;color:#9A9A9A;margin-top:.4rem;font-weight:300;line-height:1.5}
@media(max-width:600px){body.page-id-5347 .bp-guide-section .bp-svc-grid{grid-template-columns:1fr}}
/* CTA */
body.page-id-5347 .bp-cta{max-width:800px;margin:3rem auto 2rem;text-align:center;padding:2.5rem 2rem;background:rgba(184,151,106,.04);border:1px solid rgba(184,151,106,.15);border-radius:8px}
body.page-id-5347 .bp-cta h2{font-family:"Cormorant Garamond",serif;font-size:1.4rem;font-weight:400;color:#FAFAF8;margin:0 0 .8rem}
body.page-id-5347 .bp-cta p{font-size:.88rem;color:#C9BFB0;margin:0 0 1.2rem;line-height:1.7;font-weight:300}
body.page-id-5347 .bp-cta a.bp-cta-btn{display:inline-block;padding:.75rem 2rem;background:#B8976A;color:#0E0E0E;text-decoration:none;font-size:.85rem;font-weight:500;border-radius:4px;transition:all .25s;letter-spacing:.5px}
body.page-id-5347 .bp-cta a.bp-cta-btn:hover{background:#D4B88A;transform:translateY(-1px)}
/* Floating contact - constrain to a button, not full width */
body.page-id-5347 .floating-contact{position:fixed;bottom:1.5rem;right:1.5rem;z-index:999;width:auto;max-width:none}
body.page-id-5347 .floating-contact a{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:#B8976A;color:#0E0E0E;text-decoration:none;font-size:.78rem;font-weight:500;border-radius:50px;box-shadow:0 4px 15px rgba(0,0,0,.3);transition:all .3s;width:auto}
body.page-id-5347 .floating-contact a:hover{background:#D4B88A;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.4)}
/* Nav links */
body.page-id-5347 .bp-nav{max-width:800px;margin:2rem auto;display:flex;justify-content:space-between;gap:1rem;padding-top:1.5rem;border-top:1px solid rgba(184,151,106,.12)}
body.page-id-5347 .bp-nav a{color:#B8976A;text-decoration:none;font-size:.82rem;font-weight:300}
body.page-id-5347 .bp-nav a:hover{text-decoration:underline}
/* === calculators-hub-redesign:end === */
/* === ira-split-hide-account-type:start === */
body.page-id-5384 .ira-account-type-row,
.postid-5384 .ira-account-type-row,
[class*="roth-ira"] .ira-account-type-row,
[class*="traditional-ira"] .ira-account-type-row { display: none !important; }
body.page-id-32998 .ira-account-type-row,
.postid-32998 .ira-account-type-row { display: none !important; }
/* === ira-split-hide-account-type:end === */
/* === ira-marginal-tax-hide-roth:start === */
body.page-id-5384 .ira-marginal-tax-row,
.postid-5384 .ira-marginal-tax-row { display: none !important; }
/* === ira-marginal-tax-hide-roth:end === */

/* === calc-hub-intro-link-color:start === */
/* Intro paragraph link color on the calculators hub (override default blue) */
body.page-id-5347 .bp-intro a,
body.page-id-5347 .bp-intro a:visited{color:#B8976A;text-decoration:none;border-bottom:1px solid rgba(184,151,106,.3);transition:border-color .2s, color .2s}
body.page-id-5347 .bp-intro a:hover,
body.page-id-5347 .bp-intro a:focus{color:#D4B896;border-bottom-color:#D4B896}
/* === calc-hub-intro-link-color:end === */

/* reedcorp-bp-intro-link:start */
.bp-intro a{color:#B8976A;text-decoration:none;border-bottom:1px solid rgba(184,151,106,.3);transition:border-color .2s, color .2s}
.bp-intro a:hover,.bp-intro a:focus{color:#D4B896;border-bottom-color:#D4B896}
/* reedcorp-bp-intro-link:end */
/* === reedcorp-form-field-bg:start === */
/* Cream bg on text-entry fields so the already-forced black text is readable —
   matches the New Client Inquiry .field-input look. Excludes [type=search]
   (header search stays dark) and <select> (calc dropdowns stay dark). .calc-row
   inputs set their own cream bg !important, so they're unaffected. */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="password"],
input[type="date"],
input:not([type]),
textarea {
  background-color:#EDE6DA !important;
  color:#000 !important;
  -webkit-text-fill-color:#000 !important;
}
/* Newsletter (Jetpack Subscriptions) email field — block + widget variants */
.wp-block-jetpack-subscriptions__form input[type="email"],
.wp-block-jetpack-subscriptions__textfield input,
.jetpack_subscription_widget input[type="email"],
form.wp-block-jetpack-subscriptions__form input {
  background-color:#EDE6DA !important;
  color:#000 !important;
  -webkit-text-fill-color:#000 !important;
}
/* === reedcorp-form-field-bg:end === */

/* === grid-br-cleanup:start === */
.bp-svc-grid > br,.rr-cards-grid > br,.card-grid > br,.hub-svc-grid > br,.bp-services > br,.rr-overflow > br{display:none !important;}
/* === grid-br-cleanup:end === */

/* === reedcorp-design-system:start ===
   GLOBAL canonical styling for every content design block. Single source of truth.
   Plain-class specificity, NO !important -> any page that still ships a matching inline
   <style> overrides this (page body loads after this head CSS); pages with missing or
   mismatched CSS fall back here. Page bodies should emit ONLY these classes.
   Reference: reedcorp-content-creation/references/design-system-and-css-conformance.md */

/* ---- Page wrapper + typography ---- */
.bp-page{background:#0A0A0A;color:#EDE6DA;font-family:"Jost","Helvetica Neue",Arial,sans-serif;line-height:1.7;max-width:100%;overflow-x:hidden}
.bp-page *{box-sizing:border-box}
.bp-bc{max-width:800px;margin:0 auto;padding:2.5rem 2rem 0;font-size:.75rem;color:#8A8A8A;font-weight:300}
.bp-bc a{color:#B8976A;text-decoration:none}
.bp-bc a:hover{text-decoration:underline}
.bp-hdr{max-width:800px;margin:0 auto;padding:1.5rem 2rem 1rem}
.bp-hdr .overline,.bp-hdr .bp-overline{display:block;font-size:.65rem;letter-spacing:4px;text-transform:uppercase;color:#B8976A;font-weight:300;margin-bottom:.5rem}
.bp-hdr h1{font-family:"Cormorant Garamond",serif;font-size:2.2rem;font-weight:300;color:#FAFAF8;line-height:1.2;margin:0}
.bp-hdr h1 em{font-style:italic;color:#D4B896}
.bp-intro{max-width:800px;margin:0 auto 1rem;padding:1rem 2rem 1.5rem;font-size:1.05rem;line-height:1.9;color:#C9BFB0;font-weight:300;border-bottom:1px solid rgba(184,151,106,.15)}
.bp-section{max-width:800px;margin:0 auto;padding:.8rem 2rem}
.bp-section h2{font-family:"Cormorant Garamond",serif;font-size:1.5rem;font-weight:400;color:#FAFAF8;margin:1.2rem 0 .8rem;letter-spacing:.5px}
.bp-section h3{font-family:"Cormorant Garamond",serif;font-size:1.15rem;font-weight:400;color:#FAFAF8;margin:1.2rem 0 .6rem}
.bp-section p{font-size:.95rem;line-height:1.9;color:#C9BFB0;font-weight:300;margin:.6rem 0}
.bp-section a{color:#B8976A;text-decoration:none}
.bp-section a:hover{text-decoration:underline}
.bp-section ul,.bp-section ol{margin:.8rem 0 .8rem 1.2rem;padding:0;font-size:.95rem;line-height:1.9;color:#C9BFB0;font-weight:300}
.bp-section li{margin-bottom:.4rem}
.bp-section strong{color:#FAFAF8;font-weight:500}
.bp-note,.bp-guide-note{max-width:800px;margin:1rem auto;padding:1.5rem 2rem;background:rgba(184,151,106,.04);border-left:3px solid rgba(184,151,106,.3);font-size:.9rem;line-height:1.8;color:#B0A898;font-style:italic}

/* ---- Key takeaway ---- */
.key-takeaway{max-width:800px;margin:1.5rem auto;background:rgba(184,151,106,.04);border-left:3px solid rgba(184,151,106,.3);padding:1.2rem 1.5rem;border-radius:0 8px 8px 0}
.key-takeaway h3,.key-takeaway .kt-title,.key-takeaway-label{font-family:"Cormorant Garamond",serif;font-size:1.1rem;color:#B8976A;margin:0 0 .5rem;font-weight:400;display:block}
.key-takeaway p,.key-takeaway span{font-size:.9rem;color:#C9BFB0;line-height:1.8;font-weight:300;display:block;margin:.3rem 0}
.key-takeaway strong{color:#F5F0E8}

/* ---- Jump nav ---- */
.bp-jump{max-width:800px;margin:0 auto;padding:.5rem 2rem 1.5rem;border-bottom:1px solid rgba(184,151,106,.12)}
.bp-jump h3{font-family:"Cormorant Garamond",serif;font-size:1rem;color:#FAFAF8;margin:0 0 .6rem;font-weight:400}
.bp-jump a{display:inline-block;padding:.35rem .9rem;margin:0 .4rem .4rem 0;border:1px solid rgba(184,151,106,.15);border-radius:20px;color:#B8976A;text-decoration:none;font-size:.78rem;font-weight:300;transition:all .3s}
.bp-jump a:hover{background:rgba(184,151,106,.1);border-color:#B8976A}

/* ---- Card grids: services / niche-locations / cross-links ---- */
.bp-svc-grid,.bp-loc-grid,.bp-cross{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;max-width:800px;margin:0 auto}
.bp-services,.bp-locations{max-width:800px;margin:1.5rem auto 0;padding:2rem;border-top:1px solid rgba(184,151,106,.18);background:rgba(184,151,106,.025)}
.bp-services h3,.bp-locations h3,.bp-why h3{font-family:"Cormorant Garamond",serif;font-size:1.4rem;font-weight:400;color:#FAFAF8;text-align:center;margin:0 0 .35rem;letter-spacing:.5px}
.bp-svc-sub{text-align:center;font-size:.62rem;color:#B8976A;letter-spacing:3px;text-transform:uppercase;margin:0 0 1.5rem;font-weight:400}
a.bp-svc-btn,a.bp-loc-card,a.local-card{display:block;padding:1.05rem 1.1rem;background:#141414;border:1px solid rgba(184,151,106,.3);color:#EDE6DA;text-decoration:none;font-size:.88rem;line-height:1.45;font-weight:400;transition:all .25s;border-radius:4px;min-height:44px}
a.bp-svc-btn:hover,a.bp-loc-card:hover,a.local-card:hover{border-color:#B8976A;background:#1E1E1E;transform:translateY(-1px);box-shadow:0 4px 14px rgba(184,151,106,.12)}
.bp-svc-btn .bp-svc-label,.bp-loc-card .bp-svc-label,.bp-svc-label{display:block;font-size:.6rem;letter-spacing:2.5px;color:#B8976A;text-transform:uppercase;margin-bottom:.4rem;font-weight:400}
.bp-svc-btn .bp-svc-desc,.bp-loc-card .bp-svc-desc,.bp-svc-desc{display:block;font-size:.74rem;color:#9A9A9A;margin-top:.4rem;font-weight:300;line-height:1.5}
.bp-svc-btn:hover .bp-svc-label,.bp-svc-btn:hover .bp-svc-desc{color:#FAFAF8}
.local-card .card-title{display:block;color:#FAFAF8;font-size:.9rem;font-weight:300}
.local-card .card-desc{display:block;color:#9A9A9A;font-size:.82rem;font-weight:300;margin-top:3px}
.bp-why{max-width:800px;margin:1.5rem auto 0;padding:1rem 2rem}

/* ---- Sources / references / related-links lists ---- */
.bp-refs,.bp-sources,.loc-xlinks{max-width:800px;margin:1.5rem auto;padding:2rem;border-top:1px solid rgba(184,151,106,.12);border-bottom:1px solid rgba(184,151,106,.12)}
.bp-refs h3,.bp-sources h3,.loc-xlinks h3{font-family:"Cormorant Garamond",serif;font-size:1.4rem;font-weight:400;color:#FAFAF8;text-align:center;margin:0 0 1rem;letter-spacing:.5px}
.toc-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:1rem auto;max-width:800px}
.toc-grid a,.loc-xlinks a,a.toc-link{display:block;background:rgba(184,151,106,.03);border:1px solid rgba(184,151,106,.08);border-radius:8px;padding:.9rem 1.3rem;text-decoration:none;transition:all .3s;color:#EDE6DA}
.toc-grid a:hover,.loc-xlinks a:hover,a.toc-link:hover{border-color:#B8976A;background:rgba(184,151,106,.08);transform:translateY(-1px)}

/* ---- CTA (bp-cta / loc-cta + the gold button: bp-cta-btn / cta-btn) ---- */
.bp-cta,.loc-cta{max-width:800px;margin:2rem auto;padding:2.5rem 2rem;text-align:center;border-top:1px solid rgba(184,151,106,.12)}
.bp-cta h3,.bp-cta h2,.loc-cta h3{font-family:"Cormorant Garamond",serif;font-size:1.4rem;font-weight:400;color:#FAFAF8;margin:0 0 .5rem}
.bp-cta p,.loc-cta p{font-size:.9rem;color:#C9BFB0;margin:.5rem 0 1.5rem;line-height:1.7;font-weight:300}
.bp-cta a,.loc-cta a,.bp-cta-btn,.cta-btn{display:inline-block;padding:.75rem 2.2rem;background:#B8976A;color:#0A0A0A;text-decoration:none;font-size:.8rem;letter-spacing:2px;text-transform:uppercase;font-weight:400;border-radius:4px;transition:background .3s}
.bp-cta a:hover,.loc-cta a:hover,.bp-cta-btn:hover,.cta-btn:hover{background:#D4B896;color:#0A0A0A}
.bp-cta-phone{display:inline-block;margin-top:.6rem;color:#B8976A;font-size:.85rem;text-decoration:none}

/* ---- Prev/next nav ---- */
.bp-nav{max-width:800px;margin:2rem auto;display:flex;justify-content:space-between;gap:1rem;padding-top:1.5rem;border-top:1px solid rgba(184,151,106,.12)}
.bp-nav a{color:#B8976A;text-decoration:none;font-size:.85rem;font-weight:300}
.bp-nav a:hover{text-decoration:underline}

/* ---- FAQ accordion: the bare faq-item / faq-answer family (mirrors seo-faq) ---- */
.bp-faq,.faq-wrapper,.faq-list{max-width:736px;margin:3rem auto;padding:0 1rem;font-family:"Inter",sans-serif;color:#FAFAF8}
.bp-faq h2,.faq-wrapper h2{font-family:"Cormorant Garamond",serif;font-weight:400;font-size:2rem;color:#FAFAF8;margin:0 0 1.5rem;text-align:center}
.faq-item{border-bottom:1px solid rgba(184,151,106,.25);background:transparent}
.faq-item:first-of-type{border-top:1px solid rgba(184,151,106,.25)}
.faq-item summary,.faq-question{font-family:"Inter",sans-serif;font-size:1rem;font-weight:500;color:#FAFAF8;cursor:pointer;list-style:none;padding:1.25rem 2.5rem 1.25rem 0;position:relative;line-height:1.5}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:""}
.faq-item summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:"Cormorant Garamond",serif;font-size:1.6rem;font-weight:300;color:#B8976A;line-height:1}
.faq-item[open] summary::after{content:"\2212"}
.faq-item summary:hover{color:#B8976A}
.faq-toggle{color:#B8976A;font-family:"Cormorant Garamond",serif;font-size:1.6rem;font-weight:300}
.faq-answer,.faq-body,.acc-body{padding:0 2.5rem 1.5rem 0;font-size:.95rem;line-height:1.7;color:rgba(250,250,248,.82)}
.faq-answer p,.faq-body p,.acc-body p{margin:0 0 1rem}
.faq-answer a,.faq-body a,.acc-body a{color:#B8976A;text-decoration:underline;text-underline-offset:3px}
.bp-accordion{max-width:800px;margin:2rem auto}

/* /faqs directory page */
.faq-category{margin:2rem auto;max-width:800px}
.faq-category-header{font-family:"Cormorant Garamond",serif;font-size:1.4rem;color:#FAFAF8;margin:0 0 .3rem;font-weight:400}
.faq-category-desc{font-size:.85rem;color:#9A9A9A;margin:0 0 1rem}
.faq-chevron{color:#B8976A}
.faq-nav,.faq-related{max-width:800px;margin:1.5rem auto}
.faq-related-label{display:block;font-size:.62rem;letter-spacing:3px;text-transform:uppercase;color:#B8976A;margin-bottom:.5rem}
.faq-cta{max-width:800px;margin:2rem auto;text-align:center}

/* ---- hub-card variants (single-page guides) ---- */
.hub-cards,.bp-hub-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;max-width:800px;margin:1rem auto}
a.hub-card,a.bp-hub-card{display:block;padding:1.05rem 1.1rem;background:#141414;border:1px solid rgba(184,151,106,.3);border-radius:4px;text-decoration:none;color:#EDE6DA}
a.hub-card:hover,a.bp-hub-card:hover{border-color:#B8976A;background:#1E1E1E}
.hub-card-title,.hub-title{display:block;font-family:"Cormorant Garamond",serif;color:#FAFAF8;font-size:1.05rem;margin-bottom:.3rem}
.hub-card-desc,.hub-desc{display:block;color:#9A9A9A;font-size:.8rem}
.hub-card-num{color:#B8976A;font-weight:500}

/* ---- misc one-offs ---- */
.bp-step{max-width:800px;margin:.6rem auto;padding:.9rem 1.3rem;border-left:2px solid rgba(184,151,106,.3);color:#C9BFB0}
.bp-errors{max-width:800px;margin:1rem auto;padding:1rem 1.3rem;background:rgba(184,151,106,.04);border-radius:8px;color:#C9BFB0}
.summary-group-label{display:block;color:#B8976A;font-size:.62rem;letter-spacing:2px;text-transform:uppercase;margin:.5rem 0}
/* === reedcorp-design-system:end === */

/* === reedcorp-seofaq-fix:start (2026-06-01) ===
   FAQ container was flush-left vs the bp-section reading column (less horizontal padding) and
   its answer lists rendered unstyled. Align padding to .bp-section + style re-nested answer ul/li. */
.seo-faq{max-width:800px;margin:1rem auto 0;padding:1rem 2rem 2rem;border-top:1px solid rgba(184,151,106,.15)}
.seo-faq h2{font-family:"Cormorant Garamond",serif;font-size:1.5rem;font-weight:400;color:#FAFAF8;margin:1.2rem 0 .8rem;letter-spacing:.5px}
.seo-faq-answer ul{margin:.8rem 0 .8rem 1.2rem;padding:0;color:#C9BFB0}
.seo-faq-answer li{margin-bottom:.6rem;color:#C9BFB0}
.seo-faq-answer p{margin:.5rem 0;color:#C9BFB0}
/* === reedcorp-seofaq-fix:end === */

/* ============================================================
   === reedcorp-legacy-aliases:start ===
   Legacy / off-vocabulary class aliases — maps classes emitted
   by older page generators to canonical bp-* styling so those
   pages render correctly without a content rewrite.
   Palette confirmed from existing CSS:
     gold primary  #B8976A   gold hover #D4B896
     page bg       #0A0A0A   card bg    #141414   card hover #1E1E1E
     cream text    #EDE6DA   cream-dim  #C9BFB0   cream-muted #9A9A9A
     heading white #FAFAF8
   ============================================================ */

/* ---- .loc-section → mirrors .bp-citations container ---- */
.loc-section {
  max-width: 900px;
  margin: 2rem auto;
  padding: 2rem;
  background: #0A0A0A;
  border-top: 1px solid rgba(184,151,106,.18);
}
.loc-section h2,
.loc-section h3 {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  color: #FAFAF8;
  font-size: 1.5rem;
  text-align: center;
  margin: 0 0 1rem;
}
.loc-section p {
  font-size: .95rem;
  line-height: 1.8;
  color: #C9BFB0;
  font-weight: 300;
  margin: .6rem 0;
}

/* ---- .loc-xlinks → card-link grid (like .bp-svc-grid) ---- */
.loc-xlinks {
  max-width: 800px;
  margin: 1.5rem auto;
  padding: 2rem;
  border-top: 1px solid rgba(184,151,106,.12);
  border-bottom: 1px solid rgba(184,151,106,.12);
}
.loc-xlinks h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: #FAFAF8;
  text-align: center;
  margin: 0 0 1rem;
  letter-spacing: .5px;
}
/* The <a> links inside loc-xlinks render as cards */
.loc-xlinks a {
  display: block;
  padding: 1.05rem 1.1rem;
  background: #141414;
  border: 1px solid rgba(184,151,106,.3);
  color: #EDE6DA;
  text-decoration: none;
  font-size: .88rem;
  line-height: 1.45;
  font-weight: 400;
  border-radius: 8px;
  min-height: 44px;
  margin-bottom: .5rem;
  transition: border-color .25s, background .25s, transform .25s;
}
.loc-xlinks a:hover {
  border-color: #B8976A;
  background: #1E1E1E;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(184,151,106,.12);
}
/* When loc-xlinks links sit in a grid wrapper, kill wpautop <br> */
.loc-xlinks > br { display: none !important; }

/* ---- .hub-cta-box + .btn-g → CTA block (like .bp-cta / .bp-cta-btn) ---- */
.hub-cta-box {
  max-width: 800px;
  margin: 2rem auto;
  padding: 2.5rem 2rem;
  text-align: center;
  border-top: 1px solid rgba(184,151,106,.12);
}
.hub-cta-box h2,
.hub-cta-box h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: #FAFAF8;
  margin: 0 0 .5rem;
}
.hub-cta-box p {
  font-size: .9rem;
  color: #C9BFB0;
  margin: .5rem 0 1.5rem;
  line-height: 1.7;
  font-weight: 300;
}
/* .btn-g is the gold button inside hub-cta-box */
.btn-g,
a.btn-g {
  display: inline-block;
  padding: .75rem 2.2rem;
  background: #B8976A;
  color: #0A0A0A;
  text-decoration: none;
  font-size: .8rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 400;
  border-radius: 4px;
  transition: background .3s;
}
.btn-g:hover,
a.btn-g:hover { background: #D4B896; color: #0A0A0A; }

/* ---- .faq-related / .faq-related-label / .faq-related-link ---- */
.faq-related {
  max-width: 800px;
  margin: 1.5rem auto;
  padding: 0 2rem;
}
.faq-related-label {
  display: block;
  font-size: .62rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #B8976A;
  margin-bottom: .5rem;
  font-weight: 400;
}
.faq-related-link,
a.faq-related-link {
  display: block;
  padding: .7rem 1rem;
  background: rgba(184,151,106,.03);
  border: 1px solid rgba(184,151,106,.08);
  border-radius: 6px;
  color: #EDE6DA;
  text-decoration: none;
  font-size: .88rem;
  margin-bottom: .4rem;
  transition: border-color .25s, background .25s;
}
a.faq-related-link:hover {
  border-color: #B8976A;
  background: rgba(184,151,106,.08);
}

/* ---- .bp-loc-card + .bp-loc-grid → city cards (like .bp-svc-btn/.bp-svc-grid) ---- */
.bp-loc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: .75rem;
  max-width: 800px;
  margin: 1rem auto 0;
}
/* Kill wpautop <br> between grid children */
.bp-loc-grid > br { display: none !important; }
a.bp-loc-card {
  display: block;
  padding: 1.05rem 1.1rem;
  background: #141414;
  border: 1px solid rgba(184,151,106,.3);
  color: #EDE6DA;
  text-decoration: none;
  font-size: .88rem;
  line-height: 1.45;
  font-weight: 400;
  transition: border-color .25s, background .25s, transform .25s;
  border-radius: 8px;
  min-height: 44px;
}
a.bp-loc-card:hover {
  border-color: #B8976A;
  background: #1E1E1E;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(184,151,106,.12);
}
/* Allow .bp-svc-label / .bp-svc-desc inside bp-loc-card */
.bp-loc-card .bp-svc-label { display: block; font-size: .6rem; letter-spacing: 2.5px; color: #B8976A; text-transform: uppercase; margin-bottom: .4rem; font-weight: 400; }
.bp-loc-card .bp-svc-desc  { display: block; font-size: .74rem; color: #9A9A9A; margin-top: .4rem; font-weight: 300; line-height: 1.5; }

/* ---- .bp-why → section like .bp-section with a heading ---- */
.bp-why {
  max-width: 800px;
  margin: 1.5rem auto 0;
  padding: 1rem 2rem;
}
.bp-why h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: #FAFAF8;
  margin: 1.2rem 0 .8rem;
  letter-spacing: .5px;
}
.bp-why h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.15rem;
  font-weight: 400;
  color: #FAFAF8;
  margin: 1.2rem 0 .6rem;
}
.bp-why p {
  font-size: .95rem;
  line-height: 1.9;
  color: #C9BFB0;
  font-weight: 300;
  margin: .6rem 0;
}
.bp-why ul,
.bp-why ol {
  margin: .8rem 0 .8rem 1.2rem;
  padding: 0;
  font-size: .95rem;
  line-height: 1.9;
  color: #C9BFB0;
  font-weight: 300;
}
.bp-why li { margin-bottom: .4rem; }

/* ---- .floating-contact → fixed gold pill button (bottom-right) ---- */
.floating-contact {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 9999;
  width: auto;
  max-width: none;
}
.floating-contact a {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .6rem 1.2rem;
  background: #B8976A;
  color: #0A0A0A;
  text-decoration: none;
  font-size: .78rem;
  font-weight: 500;
  border-radius: 50px;
  box-shadow: 0 4px 15px rgba(0,0,0,.3);
  transition: background .3s, transform .3s, box-shadow .3s;
  white-space: nowrap;
}
.floating-contact a:hover {
  background: #D4B896;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,.4);
}

/* ---- Clients-page spacing: prevent card overlap under section title ---- */
/* .bp-svc-grid / .bp-loc-grid top margin so they don't crawl up into a heading */
.bp-services > .bp-svc-grid,
.bp-locations > .bp-loc-grid,
.bp-services > .bp-svc-grid:first-child,
.bp-locations > .bp-loc-grid:first-child { margin-top: 1rem; }
/* Extra bottom margin on section headings that precede a card grid */
.bp-services h2, .bp-services h3,
.bp-locations h2, .bp-locations h3 { margin-bottom: 1rem; }
/* Clearfix guard: prevent card grids from overlapping a floated preceding title */
.bp-svc-grid::before,
.bp-loc-grid::before { content: ""; display: table; clear: both; }

/* === reedcorp-legacy-aliases:end === */

/* ============================================================
   === reedcorp-faq-fixes:start ===
   Critical FAQ rendering fixes:
   1. .seo-faq h3 — mirrors h2 so sub-headings inside FAQ blocks are styled
   2. Collapsed-state display:none guard — prevents Chrome's "first FAQ
      defaults expanded" caused by transition:all making display animatable
   3. .faq-answer aliased to .seo-faq-answer so legacy pages render correctly
   ============================================================ */

/* h3 inside .seo-faq — mirrors existing h2 rules */
.seo-faq h3 {
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: 1.15rem;
  line-height: 1.3;
  color: #FAFAF8;
  margin: 1.2rem 0 .6rem;
  letter-spacing: .3px;
}

/* Closed-state display:none guard.
   Without this, Chrome's transition:all on .seo-faq-answer makes "display"
   a transitionable property (technically invalid but Chrome accepts it),
   which means the first item in a freshly-loaded <details> group shows as
   expanded even though the element is not [open]. Forcing display:none on
   the content of any non-[open] details element overrides the animation
   path and correctly hides closed answers.
   !important needed to beat the .seo-faq-item[open] .seo-faq-answer animation rule. */
details:not([open]) > .faq-answer,
details:not([open]) > .seo-faq-answer { display: none !important; }

/* Kill transition on answer body so display is never animated (the root cause).
   Keeps the fade-in animation for [open] state only (via @keyframes faqFadeIn). */
.faq-answer,
.seo-faq-answer { transition: none; }

/* .faq-answer — legacy alias to .seo-faq-answer for pages that pre-date the rename */
.faq-answer {
  padding: 0 2.5rem 1.5rem 0;
  font-size: .95rem;
  line-height: 1.7;
  color: rgba(250,250,248,.82);
}
.faq-answer p { margin: 0 0 1rem; }
.faq-answer p:last-child { margin-bottom: 0; }
.faq-answer a {
  color: #B8976A;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.faq-answer a:hover { color: #D4B896; }
.faq-answer ul,
.faq-answer ol { margin: .8rem 0 .8rem 1.2rem; padding: 0; color: #C9BFB0; }
.faq-answer li { margin-bottom: .6rem; color: #C9BFB0; }

/* === reedcorp-faq-fixes:end === */

/* ============================================================
   === reedcorp-duedate-cards:start ===
   Due-date grid and cards used by tax-deadline / due-date pages.
   Markup expected from content generators:
     <div class="duedate-grid">
       <div class="duedate-card">...</div>
       ...
     </div>
   Alternating cream / gold-tint backgrounds for visual rhythm.
   ============================================================ */

.duedate-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
  max-width: 800px;
  margin: 1.5rem auto;
  padding: 0 2rem;
}
/* Kill wpautop <br> injected between grid children */
.duedate-grid > br { display: none !important; }

.duedate-card {
  padding: 1.4rem 1.6rem;
  border: 1px solid rgba(184,151,106,.25);
  border-radius: 6px;
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.65;
  font-size: .92rem;
}

/* Odd cards: cream-tinted dark background */
.duedate-card:nth-child(odd) {
  background: #141414;
  color: #EDE6DA;
}

/* Even cards: subtle gold-tint background for visual rhythm */
.duedate-card:nth-child(even) {
  background: rgba(184,151,106,.07);
  color: #EDE6DA;
}

/* Heading inside a due-date card */
.duedate-card h3,
.duedate-card h4 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.1rem;
  font-weight: 400;
  color: #B8976A;
  margin: 0 0 .5rem;
  letter-spacing: .3px;
}

/* Body text and date highlight */
.duedate-card p { margin: .4rem 0; color: #C9BFB0; font-size: .9rem; }
.duedate-card strong { color: #FAFAF8; font-weight: 500; }
.duedate-card a { color: #B8976A; text-decoration: underline; text-underline-offset: 3px; }
.duedate-card a:hover { color: #D4B896; }

/* Hover lift */
.duedate-card:hover {
  border-color: #B8976A;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(184,151,106,.12);
  transition: border-color .25s, transform .25s, box-shadow .25s;
}

/* Mobile: single column below 500px */
@media (max-width: 500px) {
  .duedate-grid {
    grid-template-columns: 1fr;
    padding: 0 1rem;
  }
}

/* === reedcorp-duedate-cards:end === */

/* ============================================================
   === reedcorp-round2-fixes:start ===
   Confirmed-broken visual fixes from Chrome audit (2026-06-02).
   All selectors at plain-class specificity (no !important unless
   overriding an equal-specificity ancestor rule like .bp-section a).
   Per-page inline <style> still wins — these are global fallbacks.

   Palette (from existing CSS):
     gold primary   #B8976A     gold hover    #D4B896
     page bg        #0A0A0A     card bg       #141414   card hover #1E1E1E
     cream text     #EDE6DA     cream-dim     #C9BFB0   cream-muted #9A9A9A
     heading white  #FAFAF8     dark text     #0A0A0A
   ============================================================ */

/* ------------------------------------------------------------------
   FIX 1: Hub/client card inner desc + arrow — .hub-client-card
   The outer card block (#141414 bg, border, hover) already exists in
   reedcorp-2col-grids. This adds the missing inner-element styles for
   .hub-client-card (the equivalent of .hub-svc-desc / .hub-svc-arrow
   which are only wired for .hub-svc-card above).
   Also makes the grids responsive (auto-fit) for wider viewports.
   ------------------------------------------------------------------ */

/* .hub-client-card inner text elements */
.hub-client-card .hub-client-desc {
  display: block;
  font-size: .85rem;
  line-height: 1.55;
  color: #C9BFB0;
  margin: 0 0 .6rem;
  padding: 0;
  background: transparent;
  border: none;
}
.hub-client-card .hub-client-arrow {
  display: inline-block;
  font-size: .75rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #B8976A;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
}
.hub-client-card:hover .hub-client-arrow {
  color: #D4B896;
}

/* Responsive grid upgrade: on viewports wider than the fixed 2-col,
   switch to auto-fit so 3+ columns appear naturally on large screens.
   The existing repeat(2,1fr) overrides with !important in
   reedcorp-2col-grids — we replicate !important here so this wins. */
.hub-svc-grid,
.hub-client-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
}

/* ------------------------------------------------------------------
   FIX 2: .nav-cta header button
   Was: display:block (from nav flow), transparent bg, faint border.
   Fix: inline-block, gold fill, readable dark text, nowrap, padding.
   ------------------------------------------------------------------ */
.nav-cta {
  display: inline-block !important;
  background: #B8976A !important;
  color: #0A0A0A !important;
  border: 1px solid #B8976A !important;
  border-radius: 4px !important;
  padding: .3rem .85rem !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  /* font-size / letter-spacing already set by earlier rule (.62rem / 2.5px) */
}
.nav-cta:hover {
  background: #D4B896 !important;
  border-color: #D4B896 !important;
  color: #0A0A0A !important;
}

/* ------------------------------------------------------------------
   FIX 3: .bp-cta box — add contained card surface
   Was: only a faint border-top (border-top:1px solid rgba(184,151,106,.12)).
   Fix: give it a #141414 card background, all-sides border, border-radius.
   Keep existing padding (2.5rem 2rem) and center alignment.
   The existing heading/text/button rules inside bp-cta stay untouched.
   ------------------------------------------------------------------ */
.bp-cta,
.loc-cta {
  background: #141414;
  border: 1px solid rgba(184, 151, 106, 0.25);
  border-radius: 10px;
  /* Retain the top accent as a gold line inside the border-box */
  border-top: 3px solid rgba(184, 151, 106, 0.45);
}

/* ------------------------------------------------------------------
   FIX 4: .floating-contact text visibility
   Problem: .bp-section a{color:#B8976A} recolors the pill text gold
   when the floating-contact sits inside a .bp-section wrapper, and
   the text becomes gold-on-gold (#B8976A on #B8976A bg).
   Fix: force color:#0A0A0A with !important so no ancestor .bp-section a
   rule can override it, regardless of nesting depth.
   ------------------------------------------------------------------ */
.floating-contact,
.floating-contact a,
a.floating-contact,
.bp-page a.floating-contact,
.bp-page .floating-contact,
.bp-section a.floating-contact,
.bp-section .floating-contact a,
.bp-page .floating-contact a {
  color: #0A0A0A !important;
  text-decoration: none !important;
  background: linear-gradient(135deg,#B8976A,#9A7B55) !important;
  border-radius: 50px !important;
}
.floating-contact span, a.floating-contact span { color: #0A0A0A !important; }
.floating-contact a:hover,
a.floating-contact:hover,
.bp-section a.floating-contact:hover,
.bp-section .floating-contact a:hover,
.bp-page .floating-contact a:hover {
  color: #0A0A0A !important;
  background: #D4B896 !important;
}

/* ------------------------------------------------------------------
   FIX 5: .seo-faq-answer a and .bp-nav a link styles
   Problem A: .seo-faq-answer a inherits the display:block + gold bg +
   padding from .bp-section a when the FAQ sits inside .bp-section.
   Result: inline citations render as solid beige blocks, unreadable.
   Fix: force the anchor back to inline flow + transparent bg + no
   extra padding, with gold underline color.
   Problem B: .bp-nav a (prev/next links) in some contexts appears as
   a beige block. Reinforce display:inline + clean link style.
   ------------------------------------------------------------------ */

/* Inline-flow citation links inside FAQ answers */
.seo-faq-answer a,
.faq-answer a {
  display: inline !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #B8976A !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  font-size: inherit !important;
  line-height: inherit !important;
}
.seo-faq-answer a:hover,
.faq-answer a:hover {
  color: #D4B896 !important;
  background: none !important;
}

/* .bp-nav prev/next links — ensure readable inline link, not a block */
.bp-nav a {
  display: inline !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  /* color already set to #B8976A in design-system; reinforce here */
  color: #B8976A !important;
  text-decoration: none !important;
}
.bp-nav a:hover {
  text-decoration: underline !important;
  color: #D4B896 !important;
}

/* ------------------------------------------------------------------
   FIX 6: Oversized section headings guard
   Problem: pages like the expats page emit an h2 with no class inside
   .bp-services or .bp-section, and a missing/wrong font-size rule lets
   it balloon to browser-default h2 size (2em / ~32px).
   Fix: cap h2 inside .bp-services, .bp-section, .bp-page at the
   canonical 1.5rem max; h3 at 1.15rem max. Uses max-width: none guard
   approach — explicit font-size cap at canonical values so unstyled
   headings inherit the correct size.
   Does NOT lower headings that are already within range; only prevents
   runaway sizes.
   ------------------------------------------------------------------ */
.bp-services h2,
.bp-section h2,
.bp-page .bp-section h2 {
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  color: #FAFAF8;
}
.bp-services h3,
.bp-section h3,
.bp-page .bp-section h3 {
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  color: #FAFAF8;
}

/* ------------------------------------------------------------------
   FIX 7: /careers/ Zoho embed CSS bleed reset
   The Zoho Recruit embed_jobs.css resets font-family, color, and
   grid layout sitewide. Rules below re-assert theme defaults for
   content below the embed on the careers/recruiting-agents page.
   Scoped broadly enough to cover the CTA section and service cards
   that appear below the embed div.
   ------------------------------------------------------------------ */

/* Re-assert body font + cream text after Zoho resets it */
.bp-page,
.bp-section,
.bp-services {
  font-family: "Jost", "Helvetica Neue", Arial, sans-serif;
  color: #C9BFB0;
}

/* CTA heading inside careers page bp-cta — Zoho sets it to 18px black */
.bp-cta h3,
.bp-cta h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: #FAFAF8;
  margin: 0 0 .5rem;
}

/* Service cards grid on careers — Zoho was shifting all cards to
   column 2+ (leaving column 1 empty). Force a clean 3-column grid
   starting from column 1; responsive to 1-col under 700px. */
.bp-services .bp-svc-grid,
.bp-page .bp-services .bp-svc-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
}
.bp-services .bp-svc-grid > .bp-svc-btn,
.bp-page .bp-services .bp-svc-grid > .bp-svc-btn {
  grid-column: auto !important;
  order: 0 !important;
  margin: 0 !important;
}
@media (max-width: 700px) {
  .bp-services .bp-svc-grid,
  .bp-page .bp-services .bp-svc-grid {
    grid-template-columns: 1fr !important;
  }
}

/* === reedcorp-round2-fixes:end === */

/* reedcorp-round3-fixes:start (2026-06-02, verified live via Chrome) */
/* hub-svc-card / hub-client-card are DIVs containing an <a>, NOT a.hub-svc-card.
   Round-2 targeted the anchor and missed the div, so the cards rendered as bare text.
   Target the DIV (card chrome) + its inner <a> (flex row). Fixes the LA/NY "Who We Serve"
   cards and the real-estate/expats service cards. */
.hub-svc-card, .hub-client-card, .hub-svc-grid > div, .hub-client-grid > div {
  display:block !important; background:#141414 !important;
  border:1px solid rgba(184,151,106,.25) !important; border-radius:8px !important;
  padding:0 !important; margin:0 !important; overflow:hidden;
}
.hub-svc-card > a, .hub-client-card > a, .hub-svc-grid > div > a, .hub-client-grid > div > a {
  display:flex !important; align-items:center; gap:.6rem;
  padding:1.05rem 1.35rem !important; text-decoration:none !important; min-height:44px;
}
.hub-svc-card:hover, .hub-client-card:hover, .hub-svc-grid > div:hover { border-color:#B8976A !important; background:#1E1E1E !important; }
.hub-svc-card .hub-svc-title, .hub-client-card .hub-client-name, .hub-client-card .hub-svc-title {
  color:#EDE6DA !important; font-size:.9rem; font-weight:400; flex:1;
}
.hub-svc-card .hub-svc-desc, .hub-client-card .hub-client-desc { color:#9A9A9A !important; font-size:.78rem; display:block; }
.hub-svc-card .hub-svc-arrow, .hub-client-card .hub-svc-arrow { color:#B8976A !important; margin-left:auto; flex-shrink:0; }
/* reedcorp-round3-fixes:end */
