/* Bright!Tax Design Kit v0.1.3
 * All visual styles are scoped to .bt-design or reusable .is-style-bt-* classes.
 * Safe alongside the original theme and earlier pricing mockup; no global resets.
 */
.bt-design {
  --bt-ink:#16352a;
  --bt-text:#263b32;
  --bt-muted:#506458;
  --bt-primary:#208347;
  --bt-dark:#173e2c;
  --bt-line:#dce8df;
  --bt-soft:#f5faf6;
  --bt-light:#fff;
  font-family:inherit;
  font-size:16px;
  line-height:1.57;
  color:var(--bt-text);
  background:#fff;
  overflow-x:clip;
}
.bt-design *, .bt-design *::before, .bt-design *::after { box-sizing:border-box; }
.bt-design :is(h1,h2,h3,p,ul,figure) { margin-block-start:0; }
.bt-design :is(h1,h2,h3) { color:var(--bt-ink) !important; -webkit-text-fill-color:var(--bt-ink) !important; font-family:inherit; font-weight:800; letter-spacing:-.028em; }
.bt-design p { color:var(--bt-text); }
.bt-design a { color:#156836; }
.bt-design a:focus-visible { outline:3px solid #f8bf47; outline-offset:3px; }
.bt-design .bt-shell { width:min(1120px,calc(100% - 44px)); margin-inline:auto; }
.bt-design .bt-section { padding:62px 0; }
.bt-design .bt-section > .bt-shell > h2 { font-size:clamp(30px,3.7vw,40px); line-height:1.16; margin-bottom:10px; }
.bt-design .bt-section-intro { font-size:17px; line-height:1.55; color:var(--bt-muted); max-width:740px; margin-bottom:30px; }
.bt-design .bt-soft-section { background:var(--bt-soft); border-block:1px solid #e5efe7; }
/* HERO */
.bt-design .bt-hero {
  width:100vw; max-width:none; position:relative;
  left:50%; transform:translateX(-50%);
  padding:49px 0 43px;
  background:radial-gradient(circle at 83% 13%,#dff1e2 0%,#f6fbf7 34%,#fff 84%);
  border-bottom:1px solid var(--bt-line);
}
.bt-design .bt-hero-columns { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(285px,.77fr); gap:clamp(28px,3.7vw,52px); align-items:center; margin:0; }
.bt-design .bt-hero-columns > .wp-block-column { min-width:0; margin:0; flex:initial !important; }
.bt-design .bt-hero h1 { font-size:clamp(36px,4.1vw,57px); line-height:1.07; letter-spacing:-.04em; margin-bottom:22px; }
.bt-design .bt-hero .bt-lead,
.bt-design .bt-opening-price { color:var(--bt-muted); font-size:17px; line-height:1.62; max-width:700px; margin-bottom:14px; }
.bt-design .bt-opening-price { margin-bottom:16px; }
.bt-design .bt-policy-link { text-decoration:none; color:inherit; }
.bt-design .bt-hero-buttons { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:0; }
.bt-design .wp-block-buttons .wp-block-button { margin:0; }
.bt-design .wp-block-buttons .wp-block-button__link {
  display:inline-flex; justify-content:center; align-items:center; min-height:48px;
  font:800 15px/1.25 inherit; font-size:15px; font-family:inherit; font-weight:800;
  text-decoration:none; white-space:nowrap; padding:12px 20px;
  border:2px solid transparent; border-radius:9px; cursor:pointer;
}
.bt-design .is-style-bt-primary .wp-block-button__link,
.bt-design .bt-primary-button .wp-block-button__link {
  background:var(--bt-primary) !important; border-color:var(--bt-primary) !important;
  color:#fff !important; -webkit-text-fill-color:#fff !important;
  box-shadow:0 5px 12px #1e824328;
}
.bt-design .is-style-bt-outline .wp-block-button__link { background:#fff !important; color:#156836 !important; -webkit-text-fill-color:#156836 !important; border-color:#b5d6c1 !important; }
.bt-design .is-style-bt-light .wp-block-button__link { background:#fff !important; color:#195c35 !important; -webkit-text-fill-color:#195c35 !important; border-color:#fff !important; }
.bt-design .wp-block-button__link:hover { filter:brightness(.96); }
.bt-design .bt-benefits-card {
  padding:28px; background:#fff; border:1px solid var(--bt-line); border-radius:20px;
  box-shadow:0 15px 45px #1e5f3b16;
}
.bt-design .bt-benefits-card h2 { font-size:19px; line-height:1.24; margin-bottom:17px; }
.bt-design .bt-checklist, .bt-design .bt-plan-features { list-style:none; padding:0; margin:0; }
.bt-design .bt-checklist li {
  padding-left:35px; margin-bottom:17px; position:relative;
  font-size:14px; line-height:1.52; font-weight:700; color:var(--bt-text);
  overflow-wrap:normal; word-break:normal;
}
.bt-design .bt-checklist li:last-child { margin-bottom:0; }
.bt-design .bt-checklist li::before { content:'✓'; position:absolute; left:0; top:0; background:#e8f6eb; color:#156836; width:23px; height:23px; line-height:23px; text-align:center; border-radius:50%; font-weight:800; }

.bt-design .bt-people-text { color:var(--bt-muted); margin:0; font-size:14px; line-height:1.48; font-weight:600; }
/* PRICING */
.bt-design .bt-price-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(7,auto); gap:0 18px; align-items:stretch; margin:0; }
.bt-design .bt-pricing-card {
  display:grid; grid-row:span 7; grid-template-rows:subgrid; row-gap:0;
  padding:29px 25px 23px; margin:0; min-width:0;
  border:1px solid var(--bt-line); border-radius:17px; background:#fff; box-shadow:0 8px 25px #263b3208;
  flex:auto !important;
}
.bt-design .bt-pricing-card.bt-featured { border:2px solid var(--bt-primary); box-shadow:0 14px 32px #1c8a3e16; padding:28px 24px 22px; }
.bt-design .bt-pricing-card > * { margin-block-start:0; }
.bt-design .bt-pricing-card h3 { font-size:23px; line-height:1.22; min-height:0; margin-bottom:18px; }
.bt-design .bt-price-row { display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:4px; margin:0; }
.bt-design .bt-price-prefix { font-size:15px; line-height:1.3; color:#5e7168; margin:0; font-weight:600; }
.bt-design .bt-price-row .bt-price { font-size:clamp(36px,3.35vw,44px); letter-spacing:-.02em; line-height:1.05; margin:0; }
.bt-design .bt-price-qualifier { color:#5e7168; margin:6px 0 18px; font-size:13px; line-height:1.4; }
.bt-design .bt-plan-desc { font-size:14px; line-height:1.5; color:#5e7168; margin:0 0 20px; }
.bt-design .bt-plan-features { margin:0 0 22px; display:grid; gap:11px; align-content:start; }
.bt-design .bt-plan-features li { position:relative; padding-left:25px; font-size:14px; line-height:1.44; }
.bt-design .bt-plan-features li::before { content:'✓'; position:absolute; top:0; left:0; color:var(--bt-primary); font-weight:800; }
.bt-design .bt-plan-action { display:block; width:100%; }
.bt-design .bt-plan-action .wp-block-button, .bt-design .bt-plan-action .wp-block-button__link { width:100%; }
.bt-design .bt-card-footnote { color:#5e7168; font-size:12px; line-height:1.5; margin:12px 0 0; }
.bt-design .bt-help-strip { margin-top:27px; padding:18px 21px; background:var(--bt-soft); border:1px solid var(--bt-line); border-radius:12px; }
.bt-design .bt-help-strip p { margin:0; font-size:14px; }
.bt-design .bt-help-strip a { font-weight:700; }
/* FEES */
.bt-design .bt-fee-table { overflow-x:auto; border:1px solid var(--bt-line); border-radius:14px; background:#fff; box-shadow:0 7px 20px #142c2110; }
.bt-design .bt-fee-table table { margin:0; width:100%; min-width:600px; border-collapse:collapse; font-size:15px; border:0; }
.bt-design .bt-fee-table thead th { padding:17px 20px; text-align:left; font-size:12px; letter-spacing:.055em; text-transform:uppercase; background:#eaf4ec; color:var(--bt-ink); }
.bt-design .bt-fee-table td { padding:16px 20px; vertical-align:top; border-top:1px solid var(--bt-line); }
.bt-design .bt-fee-table td:last-child { font-weight:800; color:var(--bt-ink); white-space:nowrap; }
.bt-design .bt-fee-table .bt-fee-desc { display:inline; font-size:13px; color:#5e7168; font-weight:400; }
.bt-design .bt-fee-link { margin:20px 0 0; font-size:15px; }
/* PROCESS */
.bt-design .bt-process-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:29px 0 0; }
.bt-design .bt-step { border-top:3px solid #b4d6c1; padding-top:20px; margin:0; flex:auto !important; }
.bt-design .bt-step h3 { font-size:18px; line-height:1.3; margin-bottom:8px; }
.bt-design .bt-step p { font-size:14px; color:#5e7168; line-height:1.5; margin:0; }
/* FAQ */
.bt-design .bt-faq-list { max-width:870px; margin-inline:auto; }
.bt-design .bt-faq-list > h2 { font-size:clamp(29px,3.7vw,40px); line-height:1.18; margin-bottom:25px; }
.bt-design .bt-faq-item { padding:19px 1px; margin:0; border-bottom:1px solid var(--bt-line); }
.bt-design .bt-faq-item:first-of-type { border-top:1px solid var(--bt-line); }
.bt-design .bt-faq-item summary { cursor:pointer; font-size:17px; font-weight:700; color:var(--bt-ink); padding-right:34px; position:relative; list-style:none; }
.bt-design .bt-faq-item summary::-webkit-details-marker { display:none; }
.bt-design .bt-faq-item summary::after { content:'+'; position:absolute; right:5px; top:0; color:var(--bt-primary); font-size:21px; }
.bt-design .bt-faq-item[open] summary::after { content:'−'; }
.bt-design .bt-faq-item p { margin:13px 0 0; color:#5e7168; font-size:15px; }
/* FINAL PEOPLE CTA */
.bt-design .bt-final-cta {
  width:100vw; max-width:none; left:50%; transform:translateX(-50%); position:relative;
  background:var(--bt-dark); color:#fff; padding:57px 0;
}
.bt-design .bt-final-columns { display:grid; grid-template-columns:168px minmax(0,1fr); gap:28px; align-items:center; margin:0; }
.bt-design .bt-final-columns > .wp-block-column { margin:0; flex:auto !important; min-width:0; }
.bt-design .bt-csm-portrait { width:168px; height:168px; overflow:hidden; border-radius:22px; border:3px solid #fff; margin:0; }
.bt-design .bt-csm-portrait img { display:block; width:100%; height:100%; object-fit:cover; }
.bt-design .bt-final-copy h2 { color:#fff !important; -webkit-text-fill-color:#fff !important; font-size:clamp(29px,3.1vw,36px); line-height:1.2; letter-spacing:-.03em; margin-bottom:10px; }
.bt-design .bt-final-copy p { color:#e1efe5 !important; -webkit-text-fill-color:#e1efe5 !important; font-size:17px; margin:0 0 14px; }
.bt-design .bt-final-copy .bt-csm-caption { color:#fff !important; -webkit-text-fill-color:#fff !important; font-size:15px; font-weight:700; margin-bottom:20px; }
.bt-design .bt-final-copy .bt-final-button { justify-content:flex-start; }
/* FOOTNOTE */
.bt-design .bt-policy-note { padding:18px 0 24px; background:#fff; border-top:1px solid var(--bt-line); }
.bt-design .bt-policy-note p { margin:0 auto; max-width:1000px; text-align:center; color:#5e7168; font-size:13px; line-height:1.55; }
.bt-design .is-style-bt-card { border:1px solid var(--bt-line); border-radius:20px; background:#fff; }
.bt-design .is-style-bt-dark-cta { background:var(--bt-dark); color:#fff; }
/* BREAKPOINTS */
@media(max-width:900px) {
  .bt-design .bt-hero-columns { grid-template-columns:1fr; gap:27px; }
  .bt-design .bt-hero-aside { max-width:620px; }
  .bt-design .bt-price-columns { grid-template-columns:1fr; grid-template-rows:none; gap:18px; }
  .bt-design .bt-pricing-card { display:flex; flex-direction:column; grid-row:auto; }
  .bt-design .bt-pricing-card h3 { margin-bottom:16px; }
  .bt-design .bt-plan-features { flex:1; }
  .bt-design .bt-final-columns { grid-template-columns:1fr; justify-items:center; gap:28px; }
  .bt-design .bt-final-copy { text-align:center; }
  .bt-design .bt-final-copy .bt-final-button { justify-content:center; }
  .bt-design .bt-process-columns { grid-template-columns:1fr; gap:26px; }
}
@media(max-width:650px) {
  .bt-design .bt-shell { width:calc(100% - 30px); }
  .bt-design .bt-hero { padding:34px 0; }
  .bt-design .bt-hero h1 { font-size:clamp(34px,9vw,43px); }
  .bt-design .bt-hero .bt-lead,.bt-design .bt-opening-price { font-size:16px; }
  .bt-design .bt-hero-buttons { display:grid; grid-template-columns:1fr; }
  .bt-design .bt-hero-buttons .wp-block-button,.bt-design .bt-hero-buttons .wp-block-button__link { width:100%; }
  .bt-design .bt-benefits-card { padding:22px; }
  .bt-design .bt-section { padding:44px 0; }
  .bt-design .bt-pricing-card { padding:25px 22px; }
  .bt-design .bt-pricing-card.bt-featured { padding:24px 21px; }
  .bt-design .bt-final-cta { padding:48px 0; }
  .bt-design .bt-csm-portrait { width:134px; height:134px; }
  .bt-design .bt-policy-note p { text-align:left; font-size:12px; }
}
@supports not (grid-template-rows:subgrid) {
  @media(min-width:901px) {
    .bt-design .bt-price-columns { grid-template-rows:auto; }
    .bt-design .bt-pricing-card { display:flex; flex-direction:column; grid-row:auto; }
    .bt-design .bt-pricing-card h3 { min-height:3em; }
    .bt-design .bt-plan-features { flex:1; }
  }
}
@media(prefers-reduced-motion:reduce) {
  .bt-design .wp-block-button__link { transition:none; }
}

/* Standalone reusable block styles, usable outside a pricing-page wrapper. */
.wp-block-group.is-style-bt-card { background:#fff; border:1px solid #dce8df; border-radius:20px; padding:28px; box-shadow:0 12px 30px #16352a0e; }
.wp-block-group.is-style-bt-soft-hero { background:linear-gradient(115deg,#fff,#e5f4e8); }
.wp-block-group.is-style-bt-dark-cta { background:#173e2c; color:#fff; }
.wp-block-button.is-style-bt-primary .wp-block-button__link { background:#208347; border:2px solid #208347; color:white; border-radius:9px; font-weight:800; }
.wp-block-button.is-style-bt-outline .wp-block-button__link { background:#fff; border:2px solid #b5d6c1; color:#156836; border-radius:9px; font-weight:800; }
.wp-block-button.is-style-bt-light .wp-block-button__link { background:#fff; border:2px solid #fff; color:#195c35; border-radius:9px; font-weight:800; }

/* The design root had overflow-x:clip, clipping 100vw hero/CTA backgrounds
   back to the page column. Keep content widths inside .bt-shell instead. */
.bt-design.bt-pricing-page {
  overflow: visible !important;
}
.bt-design.bt-pricing-page .bt-hero,
.bt-design.bt-pricing-page .bt-final-cta {
  width: 100vw !important;
  max-width: none !important;
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

/* The Bright!Tax custom theme uses:
     <section class="review-expat">...
     <div class="separator entry-title"><div class="in-sep"></div></div>
   This is an empty page-title separator on our pricing test page.
   Remove only for pages containing the Gutenberg pricing design. */
body:has(.bt-design.bt-pricing-page) section.review-expat > .container > .separator.entry-title,
body.page-id-26649 section.review-expat > .container > .separator.entry-title {
  display: none !important;
}
body:has(.bt-design.bt-pricing-page) section.review-expat,
body.page-id-26649 section.review-expat {
  padding-top: 0 !important;
}




/* Fee table: a single flat outer edge and subtle horizontal separators.
   Prevent the custom theme's native table cell borders and rounding from
   creating a doubled outline and uneven top corners. */
.bt-design.bt-pricing-page figure.wp-block-table.bt-fee-table {
  border: 1px solid #dce8df !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #fff;
  padding: 0 !important;
  overflow-x: auto;
}
.bt-design.bt-pricing-page figure.wp-block-table.bt-fee-table table {
  width: 100%;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.bt-design.bt-pricing-page figure.wp-block-table.bt-fee-table :is(thead,tbody,tr,th,td) {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.bt-design.bt-pricing-page figure.wp-block-table.bt-fee-table thead th {
  background: #eaf4ec !important;
  border-bottom: 1px solid #ccdcd0 !important;
}
.bt-design.bt-pricing-page figure.wp-block-table.bt-fee-table tbody tr:not(:last-child) td {
  border-bottom: 1px solid #e4ece6 !important;
}
.bt-design.bt-pricing-page figure.wp-block-table.bt-fee-table tbody td:last-child {
  white-space: nowrap;
}

@media (max-width: 650px) {
  .bt-design.bt-pricing-page .bt-people-proof .bt-team-avatars {
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    height: 42px !important;
    min-height: 42px !important;
    flex-basis: 132px !important;
  }
  .bt-design.bt-pricing-page .bt-team-avatars > figure.bt-headshot {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
  }
  .bt-design.bt-pricing-page .bt-team-avatars > figure.bt-headshot:nth-of-type(2) { left: 29px !important; }
  .bt-design.bt-pricing-page .bt-team-avatars > figure.bt-headshot:nth-of-type(3) { left: 58px !important; }
  .bt-design.bt-pricing-page .bt-team-avatars > figure.bt-headshot:nth-of-type(4) { left: 87px !important; }
}

/* Mobile readability: show service AND fee without a horizontal swipe. */
@media (max-width:650px) {
  .bt-design.bt-pricing-page figure.wp-block-table.bt-fee-table { overflow-x:visible !important; }
  .bt-design.bt-pricing-page figure.wp-block-table.bt-fee-table table {
    min-width:0 !important;
    width:100% !important;
    table-layout:fixed !important;
  }
  .bt-design.bt-pricing-page figure.wp-block-table.bt-fee-table :is(th,td) {
    padding:13px 11px !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
  .bt-design.bt-pricing-page figure.wp-block-table.bt-fee-table :is(th,td):last-child {
    width:32% !important;
    white-space:normal !important;
  }
  .bt-design.bt-pricing-page figure.wp-block-table.bt-fee-table .bt-fee-desc {
    font-size:12px !important;
    line-height:1.5;
  }
}

/* Keep the native Gutenberg Table block as wide as its content column. */
@media (max-width:650px) {
  .bt-design.bt-pricing-page figure.wp-block-table.bt-fee-table {
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}


/* v0.1.3: A single native Image block prevents theme-induced portrait stacking.
   The art is one editable image. Replace it with a real team collage later. */
.bt-design .bt-people-proof,
.bt-design.bt-pricing-page .bt-people-proof {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  margin-top:17px !important;
  margin-bottom:0 !important;
  clear:both;
}
.bt-design .bt-people-proof figure.wp-block-image.bt-team-strip-image {
  display:block !important;
  flex:0 0 153px !important;
  width:153px !important;
  max-width:153px !important;
  min-width:153px !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  line-height:0;
}
.bt-design .bt-people-proof figure.wp-block-image.bt-team-strip-image > img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:contain !important;
  border-radius:0 !important;
  border:0 !important;
  vertical-align:middle;
}
.bt-design .bt-people-proof .bt-people-text {
  display:block !important;
  flex:1 1 210px !important;
  margin:0 !important;
  padding:0 !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.48 !important;
  color:#506458 !important;
  min-width:0;
}
@media(max-width:650px){
  .bt-design .bt-people-proof figure.wp-block-image.bt-team-strip-image {
    flex-basis:144px !important;
    width:144px !important;
    min-width:144px !important;
    max-width:144px !important;
  }
}

/* v0.2.1 — client-requested type refinement. Target the hero H1 only.
   Leave pricing-card headings, FAQ headings, benefits, and CTA colors unchanged. */
.bt-design.bt-pricing-page .bt-hero h1 {
  color: #686868 !important;
  -webkit-text-fill-color: #686868 !important;
}


/* v0.3 launch candidate — CEO portrait attribution below image */
.bt-design .bt-final-portrait .bt-ceo-caption {
  width:168px;
  max-width:100%;
  margin:8px 0 0 !important;
  padding:0;
  color:#f2faf5 !important;
  -webkit-text-fill-color:#f2faf5 !important;
  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:400;
  text-align:center;
}
.bt-design .bt-final-portrait .bt-ceo-caption strong {
  font-weight:700;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
@media(max-width:900px) {
  .bt-design .bt-final-portrait .bt-ceo-caption { margin-left:auto !important; margin-right:auto !important; }
}


/*
 * Bright!Tax Design Kit v0.3.1 — staging UX changes only.
 * 1) Enlarge hero team portraits 50% (153 -> 230px desktop; 144 -> 216px mobile).
 * 2) Center Katelynn's portrait caption on tablet/mobile regardless of theme styles.
 * 3) CTA section order is controlled by Gutenberg blocks, not CSS.
 */
@media (min-width: 651px) {
  .bt-design.bt-pricing-page .bt-people-proof figure.wp-block-image.bt-team-strip-image {
    flex: 0 0 230px !important;
    width: 230px !important;
    min-width: 230px !important;
    max-width: 230px !important;
  }
}
@media (max-width: 650px) {
  .bt-design.bt-pricing-page .bt-people-proof figure.wp-block-image.bt-team-strip-image {
    flex: 0 0 216px !important;
    width: 216px !important;
    min-width: 216px !important;
    max-width: 216px !important;
  }
}
@media (max-width: 900px) {
  .bt-design.bt-pricing-page .bt-final-columns > .wp-block-column.bt-final-portrait {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 168px !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .bt-design.bt-pricing-page .bt-final-portrait .bt-ceo-caption,
  .bt-design.bt-pricing-page .bt-final-portrait p.bt-ceo-caption {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 8px auto 0 !important;
    padding: 0 !important;
    text-align: center !important;
    text-indent: 0 !important;
    white-space: normal !important;
  }
}
