
/* Tax Prep Associate Site Kit — scoped Gutenberg styles */
.tpa-site {
  --tpa-forest-950: #102b29;
  --tpa-forest-900: #173b38;
  --tpa-forest-800: #22504b;
  --tpa-forest-700: #2e625b;
  --tpa-cream-100: #f5efe4;
  --tpa-cream-50: #fbf8f2;
  --tpa-paper: #ffffff;
  --tpa-gold-600: #a66f2e;
  --tpa-gold-500: #c08a45;
  --tpa-gold-200: #ead2ad;
  --tpa-ink: #202927;
  --tpa-muted: #65706d;
  --tpa-line: #ddd8ce;
  --tpa-success: #2f6b52;
  --tpa-shadow: 0 18px 45px rgba(16, 43, 41, 0.10);
  --tpa-radius: 6px;
  color: var(--tpa-ink);
  background: var(--tpa-cream-50);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.65;
}

.tpa-site *, .tpa-site *::before, .tpa-site *::after { box-sizing: border-box; }
.tpa-site h1, .tpa-site h2, .tpa-site h3 {
  color: var(--tpa-forest-950);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.025em;
}
.tpa-site h1 { max-width: 720px; margin-bottom: 24px; font-size: clamp(3.15rem, 6vw, 5.8rem); }
.tpa-site h2 { margin-bottom: 20px; font-size: clamp(2.3rem, 4vw, 3.85rem); }
.tpa-site h3 { margin-bottom: 12px; font-size: 1.45rem; }
.tpa-site p { color: var(--tpa-muted); }

/*
 * Kadence applies additional front-end alignment rules after block styles.
 * Force the site wrapper and all wide inner rows to use the same centered
 * geometry shown in the editor.
 */
.tpa-site {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.tpa-site .alignwide {
  width: calc(100% - 40px) !important;
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.tpa-site > .alignfull,
.tpa-site .tpa-hero,
.tpa-site .tpa-trust-row,
.tpa-site .tpa-services-section,
.tpa-site .tpa-about-section,
.tpa-site .tpa-process-section,
.tpa-site .tpa-prepare-section,
.tpa-site .tpa-faq-section,
.tpa-site .tpa-final-cta {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.tpa-site .tpa-section { padding-top: 96px; padding-bottom: 96px; }
.tpa-site .tpa-eyebrow {
  margin-bottom: 16px;
  color: var(--tpa-gold-600);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.tpa-site .tpa-lead { max-width: 700px; font-size: 1.13rem; }
.tpa-site .wp-block-button__link {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--tpa-radius);
  padding: 13px 22px;
  font-weight: 800;
  line-height: 1.2;
  transition: transform 160ms ease, background 160ms ease;
}
.tpa-site .wp-block-button__link:hover { transform: translateY(-2px); }
.tpa-site .tpa-button-primary .wp-block-button__link { color: #fff; background: var(--tpa-forest-900); }
.tpa-site .tpa-button-primary .wp-block-button__link:hover { background: var(--tpa-forest-800); }
.tpa-site .tpa-button-outline .wp-block-button__link { color: var(--tpa-forest-900); border: 2px solid var(--tpa-forest-900); background: transparent; }
.tpa-site .tpa-button-outline .wp-block-button__link:hover { color: #fff; background: var(--tpa-forest-900); }
.tpa-site .tpa-button-gold .wp-block-button__link { color: var(--tpa-forest-950); background: var(--tpa-gold-200); }
.tpa-site .tpa-button-gold .wp-block-button__link:hover { background: #f0dcbf; }

.tpa-site .tpa-hero { position: relative; overflow: hidden; padding-top: 84px; padding-bottom: 92px; background: linear-gradient(90deg, rgba(245,239,228,.98), rgba(251,248,242,.94)); }
.tpa-site .tpa-hero::after { position: absolute; z-index: 0; top: 0; right: -180px; width: 520px; height: 100%; background: repeating-linear-gradient(90deg, rgba(23,59,56,.045) 0, rgba(23,59,56,.045) 1px, transparent 1px, transparent 34px); content: ""; transform: skewX(-10deg); }
.tpa-site .tpa-hero-columns { position: relative; z-index: 1; gap: 76px; }
.tpa-site .tpa-hero-copy > p:not(.tpa-eyebrow) { max-width: 690px; }
.tpa-site .tpa-buttons { margin-top: 28px; margin-bottom: 25px; gap: 12px; }
.tpa-site .tpa-check-list { padding-left: 0; list-style: none; }
.tpa-site .tpa-check-list li { position: relative; padding-left: 28px; margin-bottom: 12px; color: var(--tpa-ink); font-weight: 700; }
.tpa-site .tpa-check-list li::before { position: absolute; top: 1px; left: 0; color: var(--tpa-success); content: "✓"; font-weight: 900; }
.tpa-site .tpa-inline-checks { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.tpa-site .tpa-inline-checks li { margin-bottom: 0; font-size: .9rem; }
.tpa-site .tpa-form-card { padding: 34px; border-top: 5px solid var(--tpa-gold-500); border-radius: var(--tpa-radius); background: var(--tpa-paper); box-shadow: var(--tpa-shadow); }
.tpa-site .tpa-form-card h2 { font-size: 2rem; }
.tpa-site .tpa-form-placeholder { margin-top: 24px; padding: 22px; border: 1px dashed #bdb5a8; border-radius: 4px; background: #faf8f4; }
.tpa-site .tpa-form-placeholder p { margin-bottom: 8px; font-size: .9rem; }
.tpa-site .tpa-privacy-note { margin-top: 14px; font-size: .75rem; line-height: 1.45; text-align: center; }

.tpa-site .tpa-trust-row { border-top: 1px solid var(--tpa-line); border-bottom: 1px solid var(--tpa-line); background: var(--tpa-paper); }
.tpa-site .tpa-trust-columns { margin-bottom: 0; }
.tpa-site .tpa-trust-columns > .wp-block-column { padding: 29px 30px 29px 0; }
.tpa-site .tpa-trust-columns > .wp-block-column + .wp-block-column { padding-left: 30px; border-left: 1px solid var(--tpa-line); }
.tpa-site .tpa-trust-columns h3 { margin-bottom: 4px; font-size: 1.18rem; }
.tpa-site .tpa-trust-columns p { margin-bottom: 0; font-size: .88rem; }

.tpa-site .tpa-services-section { background: var(--tpa-paper); }
.tpa-site .tpa-intro-columns { gap: 90px; margin-bottom: 52px; }
.tpa-site .tpa-intro-copy p { font-size: 1.06rem; }
.tpa-site .tpa-text-link a { color: var(--tpa-forest-800); font-weight: 800; text-decoration: underline; text-decoration-color: var(--tpa-gold-500); text-underline-offset: 5px; }
.tpa-site .tpa-service-columns { gap: 24px; }
.tpa-site .tpa-service-card { min-height: 360px; padding: 42px; border: 1px solid var(--tpa-line); border-radius: var(--tpa-radius); background: var(--tpa-paper); }
.tpa-site .tpa-service-label { display: inline-block; margin-bottom: 56px; padding-bottom: 5px; border-bottom: 2px solid var(--tpa-gold-500); color: var(--tpa-gold-600); font-size: .75rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.tpa-site .tpa-service-card h3 { max-width: 430px; font-size: clamp(2rem, 3vw, 3rem); }
.tpa-site .tpa-service-card-dark { border-color: var(--tpa-forest-900); background: var(--tpa-forest-900); }
.tpa-site .tpa-service-card-dark h3, .tpa-site .tpa-service-card-dark p, .tpa-site .tpa-service-card-dark a { color: #fff; }
.tpa-site .tpa-service-card-dark p { color: rgba(255,255,255,.72); }
.tpa-site .tpa-service-card-dark .tpa-service-label { color: var(--tpa-gold-200); }

.tpa-site .tpa-about-section { background: var(--tpa-cream-50); }
.tpa-site .tpa-about-columns { gap: 88px; }
.tpa-site .tpa-portrait-placeholder { position: relative; display: flex; min-height: 520px; align-items: center; justify-content: center; overflow: hidden; border-radius: var(--tpa-radius); background: linear-gradient(145deg,#d6d2c7,#eee9df); }
.tpa-site .tpa-portrait-placeholder::before { position: absolute; inset: 24px; border: 1px solid rgba(16,43,41,.22); content: ""; }
.tpa-site .tpa-portrait-initials { color: rgba(16,43,41,.28); font-size: clamp(8rem,20vw,13rem); letter-spacing: -.09em; }
.tpa-site .tpa-portrait-caption { position: absolute; right: 38px; bottom: 35px; left: 38px; padding: 19px 22px; background: rgba(16,43,41,.92); }
.tpa-site .tpa-portrait-caption h3 { margin: 0; color: #fff; font-size: 1.28rem; }
.tpa-site .tpa-portrait-caption p { margin: 2px 0 0; color: rgba(255,255,255,.68); font-size: .78rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }

.tpa-site .tpa-process-section { color: #fff; background: var(--tpa-forest-950); }
.tpa-site .tpa-process-section h2, .tpa-site .tpa-process-section h3 { color: #fff; }
.tpa-site .tpa-process-section p { color: rgba(255,255,255,.72); }
.tpa-site .tpa-process-section .tpa-eyebrow, .tpa-site .tpa-process-number { color: var(--tpa-gold-200); }
.tpa-site .tpa-process-heading { max-width: 1160px; margin-bottom: 50px; }
.tpa-site .tpa-process-heading > * { max-width: 680px; }
.tpa-site .tpa-process-columns { gap: 38px; }
.tpa-site .tpa-process-card { padding-top: 22px; border-top: 1px solid rgba(255,255,255,.22); }
.tpa-site .tpa-process-number { margin-bottom: 28px; font-family: Georgia,"Times New Roman",serif; font-size: 2.45rem; }

.tpa-site .tpa-prepare-section { background: var(--tpa-paper); }
.tpa-site .tpa-prepare-columns { gap: 90px; }
.tpa-site .tpa-numbered-list { margin: 0; padding: 0; list-style: none; counter-reset: tpa-step; border-top: 1px solid var(--tpa-line); }
.tpa-site .tpa-numbered-list li { position: relative; min-height: 96px; padding: 22px 0 22px 68px; border-bottom: 1px solid var(--tpa-line); counter-increment: tpa-step; }
.tpa-site .tpa-numbered-list li::before { position: absolute; top: 20px; left: 0; color: var(--tpa-gold-600); content: counter(tpa-step); font-family: Georgia,"Times New Roman",serif; font-size: 1.35rem; }

.tpa-site .tpa-faq-section { background: var(--tpa-cream-50); }
.tpa-site .tpa-narrow { max-width: 760px; margin-left: auto; margin-right: auto; }
.tpa-site .wp-block-details { margin-bottom: 12px; padding: 0; border: 1px solid var(--tpa-line); border-radius: var(--tpa-radius); background: var(--tpa-paper); }
.tpa-site .wp-block-details summary { padding: 21px 24px; color: var(--tpa-forest-950); cursor: pointer; font-family: Georgia,"Times New Roman",serif; font-size: 1.08rem; font-weight: 600; }
.tpa-site .wp-block-details > p { margin: 0; padding: 0 24px 23px; }

.tpa-site .tpa-final-cta { color: #fff; background: var(--tpa-forest-950); }
.tpa-site .tpa-final-cta h2 { color: #fff; }
.tpa-site .tpa-final-cta p { color: rgba(255,255,255,.72); }
.tpa-site .tpa-final-cta .tpa-eyebrow { color: var(--tpa-gold-200); }
.tpa-site .tpa-final-columns { gap: 55px; }
.tpa-site .tpa-contact-placeholder { margin-top: 25px; font-size: .88rem; }
.tpa-site .tpa-contact-placeholder strong { color: #fff; }

@media (max-width: 960px) {
  .tpa-site .tpa-hero-columns, .tpa-site .tpa-intro-columns, .tpa-site .tpa-about-columns, .tpa-site .tpa-prepare-columns { flex-wrap: wrap !important; gap: 52px; }
  .tpa-site .tpa-hero-columns > .wp-block-column, .tpa-site .tpa-intro-columns > .wp-block-column, .tpa-site .tpa-about-columns > .wp-block-column, .tpa-site .tpa-prepare-columns > .wp-block-column { flex-basis: 100% !important; }
  .tpa-site .tpa-process-columns { flex-direction: column; }
}

@media (max-width: 781px) {
  .tpa-site { font-size: 16px; }
  .tpa-site .alignwide { width: calc(100% - 28px) !important; }
  .tpa-site .tpa-section { padding-top: 74px; padding-bottom: 74px; }
  .tpa-site h1 { font-size: clamp(3rem,14vw,4.4rem); }
  .tpa-site .tpa-buttons { display: grid; }
  .tpa-site .tpa-buttons .wp-block-button, .tpa-site .tpa-buttons .wp-block-button__link { width: 100%; }
  .tpa-site .tpa-inline-checks { display: grid; }
  .tpa-site .tpa-form-card { padding: 27px 22px; }
  .tpa-site .tpa-trust-columns > .wp-block-column, .tpa-site .tpa-trust-columns > .wp-block-column + .wp-block-column { padding: 23px 0; border-left: 0; }
  .tpa-site .tpa-trust-columns > .wp-block-column + .wp-block-column { border-top: 1px solid var(--tpa-line); }
  .tpa-site .tpa-service-card { min-height: auto; padding: 31px 25px; }
  .tpa-site .tpa-service-label { margin-bottom: 38px; }
  .tpa-site .tpa-portrait-placeholder { min-height: 440px; }
  .tpa-site .tpa-portrait-caption { right: 22px; bottom: 22px; left: 22px; }
  .tpa-site .tpa-final-columns .wp-block-buttons, .tpa-site .tpa-final-columns .wp-block-button, .tpa-site .tpa-final-columns .wp-block-button__link { width: 100%; justify-content: stretch; }
}
