/* Tax preparer partner program: the DLR navy, baby-blue and gold palette. */
.partner-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  gap: 68px;
  align-items: center;
  padding-top: 72px;
}
.partner-intro-copy > h2 {
  max-width: 640px;
  text-wrap: balance;
}
.partner-intro-copy > p {
  max-width: 625px;
  margin: 24px 0 0;
  color: var(--gray);
  font-size: 1.03rem;
  line-height: 1.85;
  text-wrap: pretty;
}
.partner-fit {
  position: relative;
  padding: 32px 34px;
  border: 1px solid #aed2ed;
  border-top: 3px solid var(--brand-gold);
  border-radius: 18px;
  background: linear-gradient(135deg, #d2ebff, #edf7ff);
  box-shadow: 0 12px 34px #172d4d08;
}
.partner-fit > h3 {
  margin: 0;
  font-size: 1.38rem;
  font-weight: 650;
  letter-spacing: -.035em;
  line-height: 1.3;
}
.partner-fit > p {
  margin: 15px 0 0;
  font-size: .94rem;
  color: #355572;
  line-height: 1.75;
}
.partner-fit .check-list { margin-top: 20px; }
.partner-fit .check-list li {
  border-color: #a6cce7;
  padding-top: 14px;
  padding-bottom: 14px;
  font-size: .92rem;
}
.partner-fit .check-list li:before { top: 19px; }
.partner-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 21px;
  margin-top: 32px;
}
.partner-feature {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 29px 29px 31px;
  border: 1px solid #bbd9ef;
  border-radius: 17px;
  background: linear-gradient(145deg, #f8fcff, #e3f2ff);
  box-shadow: 0 7px 24px #172d4d05;
  transition: transform .3s, border-color .3s, box-shadow .3s;
}
.partner-feature:before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: #8bc7f1;
}
.partner-feature:nth-child(3n+2) {
  border-color: #e7d4aa;
  background: linear-gradient(145deg, #fffaf0, #f8f0df);
}
.partner-feature:nth-child(3n+2):before { background: var(--brand-gold); }
.partner-feature:hover {
  transform: translateY(-4px);
  border-color: #8bbde0;
  box-shadow: 0 15px 34px #172d4d0b;
}
.partner-feature-number {
  display: inline-grid;
  place-items: center;
  min-width: 37px;
  height: 37px;
  padding-inline: 7px;
  border: 1px solid #c8a041;
  border-radius: 10px;
  background: var(--brand-gold);
  color: #172d4d;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
}
.partner-feature > h3 {
  font-size: 1.22rem;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: -.025em;
  margin: 23px 0 12px;
}
.partner-feature > p {
  margin: 0;
  color: var(--gray);
  font-size: .94rem;
  line-height: 1.8;
  text-wrap: pretty;
}

/* A four-stage onboarding band connects the tools and program overview. */
.partner-process-section {
  margin-block: 24px;
  padding-block: 62px 66px;
  border-block: 1px solid #315777;
  border-top: 3px solid var(--brand-gold);
  background: radial-gradient(ellipse at 100% 0%, #315d8566, transparent 65%), #172d4d;
  color: #fff;
}
.partner-process-section .section-heading { margin-bottom: 32px; }
.partner-process-section h2 { max-width: 750px; text-wrap: balance; }
.partner-process-section .eyebrow { color: #e6c477; }
.partner-process-section .section-intro { color: #c7dff2; }
.partner-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 29px;
  list-style: none;
  padding: 0;
  margin: 35px 0 0;
}
.partner-steps > li {
  min-width: 0;
  padding-top: 23px;
  border-top: 1px solid #6385a469;
}
.partner-step-number {
  display: inline-grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border: 1px solid #d7ac4880;
  border-radius: 12px;
  background: #d7ac4814;
  color: #eac97f;
  font-size: .86rem;
  font-weight: 650;
  letter-spacing: .05em;
}
.partner-steps h3 {
  margin: 22px 0 12px;
  color: #d6edff;
  font-size: 1.12rem;
  line-height: 1.45;
  letter-spacing: -.025em;
  font-weight: 650;
}
.partner-steps p {
  margin: 0;
  color: #c6dbee;
  font-size: .92rem;
  line-height: 1.8;
}

.partner-program-layout {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  gap: 26px;
  margin-top: 32px;
  align-items: stretch;
}
.partner-core,
.partner-readiness {
  min-width: 0;
  padding: 37px;
  border-radius: 20px;
}
.partner-core {
  border: 1px solid #396080;
  border-top: 3px solid var(--brand-gold);
  background: radial-gradient(ellipse at 100% 0%, #315d85, transparent 70%), #172d4d;
  color: #fff;
  box-shadow: 0 13px 36px #172d4d12;
}
.partner-core-mark {
  display: block;
  width: 68px;
  height: auto;
  margin-bottom: 25px;
  filter: drop-shadow(0 5px 15px #071c3766);
}
.partner-core > .eyebrow { color: #e4be67; margin-bottom: 20px; }
.partner-core > h3 { color: #e3f3ff; font-size: 1.75rem; line-height: 1.3; margin: 0 0 21px; text-wrap: balance; }
.partner-core > p:not(.eyebrow) {
  margin: 0 0 27px;
  color: #d0e2f0;
  font-size: .94rem;
  line-height: 1.8;
}
.partner-core > .button { margin-top: 4px; max-width: 100%; background: #d7ac48; border-color: #d7ac48; color: #172d4d; }
.partner-core > .button:hover { background: #e8c878; border-color: #e8c878; }
.partner-core > .button:focus-visible { outline-color: #a4d8ff; }
.partner-readiness {
  border: 1px solid #acd2ed;
  background: linear-gradient(145deg, #dcefff, #eff8ff);
}
.partner-readiness > .eyebrow { margin-bottom: 20px; }
.partner-readiness > h3 {
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
  line-height: 1.2;
  font-weight: 650;
  letter-spacing: -.04em;
  margin: 0 0 20px;
  text-wrap: balance;
}
.partner-program-summary {
  display: grid;
  gap: 0;
  margin: 0;
}
.partner-program-summary > div {
  padding-block: 18px;
  border-top: 1px solid #abcfe7;
}
.partner-program-summary > div:last-child { padding-bottom: 0; }
.partner-program-summary dt {
  color: #172d4d;
  font-size: .95rem;
  font-weight: 650;
  line-height: 1.45;
}
.partner-program-summary dd {
  margin: 7px 0 0;
  color: #3a5874;
  font-size: .89rem;
  line-height: 1.75;
  text-wrap: pretty;
}
.partner-enrollment {
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
  gap: 30px;
  align-items: start;
  margin-top: 24px;
  padding: 25px 30px;
  border: 1px solid #e5d3a9;
  border-left: 3px solid #d7ac48;
  border-radius: 13px;
  background: #fff9ed;
}
.partner-enrollment h3 {
  margin: 0;
  color: #172d4d;
  font-size: 1.13rem;
  font-weight: 650;
  line-height: 1.45;
  letter-spacing: -.02em;
}
.partner-enrollment p {
  margin: 0;
  color: #60583f;
  font-size: .93rem;
  line-height: 1.8;
  text-wrap: pretty;
}
.partner-options-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 30px;
}
.partner-option {
  min-width: 0;
  padding: 30px 32px;
  border: 1px solid #bedbed;
  border-top: 3px solid #8bc7f1;
  border-radius: 17px;
  background: linear-gradient(145deg, #f5fbff, #e5f3ff);
}
.partner-option:last-child {
  border-color: #e5d3ac;
  border-top-color: var(--brand-gold);
  background: linear-gradient(145deg, #fffaf1, #f8f0e0);
}
.partner-option > h3 {
  margin: 0 0 16px;
  font-size: 1.33rem;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -.03em;
}
.partner-option > p {
  margin: 0;
  font-size: .96rem;
  line-height: 1.85;
  color: var(--gray);
}
.partner-option .inline-note {
  margin-top: 23px;
  padding: 4px 0 4px 17px;
  border-left-color: #ae8425;
  font-size: .86rem;
  line-height: 1.75;
  color: #496079;
}
.partner-option .inline-note p { margin-bottom: 0; font-size: inherit; }
#partner-faq .faq-list { margin-top: 30px; max-width: 1040px; }
#partner-faq .faq-list p { max-width: 920px; }
.partner-start-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .76fr);
  gap: 45px;
  align-items: center;
  padding: 38px 40px;
  border: 1px solid #a1c8e5;
  border-top: 3px solid var(--brand-gold);
  border-radius: 20px;
  background: radial-gradient(ellipse at 100% 100%, #b1d9f7a6, transparent 65%), #dcefff;
}
.partner-start-panel h2 {
  font-size: clamp(1.95rem, 2.65vw, 2.75rem);
  text-wrap: balance;
}
.partner-start-panel p {
  margin: 18px 0 0;
  color: #3e5b76;
  font-size: .96rem;
  line-height: 1.85;
}
.partner-start-panel .button-row {
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  gap: 20px;
}
.partner-start-panel .button { max-width: 100%; }
.partner-start-panel .text-link { color: #172d4d; }

@media (max-width: 1100px) {
  .partner-intro { gap: 36px; }
  .partner-fit { padding: 28px; }
  .partner-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-feature:nth-child(3n+2) { border-color: #bbd9ef; background: linear-gradient(145deg, #f8fcff, #e3f2ff); }
  .partner-feature:nth-child(3n+2):before { background: #8bc7f1; }
  .partner-feature:nth-child(even) { border-color: #e7d4aa; background: linear-gradient(145deg, #fffaf0, #f8f0df); }
  .partner-feature:nth-child(even):before { background: var(--brand-gold); }
  .partner-steps { gap: 23px; }
  .partner-core, .partner-readiness { padding: 30px; }
  .partner-start-panel { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); gap: 28px; padding: 34px; }
  .partner-start-panel .button-row { justify-content: flex-start; }
}
@media (max-width: 850px) {
  .partner-intro { grid-template-columns: 1fr; gap: 30px; }
  .partner-intro-copy > h2, .partner-intro-copy > p { max-width: 740px; }
  .partner-fit { padding: 30px; }
  .partner-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  .partner-program-layout { grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); gap: 20px; }
  .partner-core, .partner-readiness { padding: 28px; }
  .partner-start-panel { grid-template-columns: 1fr; gap: 25px; }
}
@media (max-width: 760px) {
  .partner-intro { padding-top: 43px; }
  .partner-intro-copy > p { font-size: .98rem; margin-top: 20px; }
  .partner-fit { padding: 27px; border-radius: 15px; }
  .partner-feature-grid { gap: 17px; margin-top: 27px; }
  .partner-feature { padding: 25px; border-radius: 15px; }
  .partner-feature > h3 { font-size: 1.15rem; }
  .partner-feature > p { font-size: .91rem; }
  .partner-process-section { padding-block: 43px 45px; margin-block: 17px; }
  .partner-process-section .section-heading { margin-bottom: 25px; }
  .partner-steps { margin-top: 28px; }
  .partner-program-layout { grid-template-columns: 1fr; gap: 20px; margin-top: 27px; }
  .partner-core, .partner-readiness { padding: 30px; border-radius: 17px; }
  .partner-readiness > h3 { font-size: 1.9rem; }
  .partner-enrollment { grid-template-columns: 1fr; gap: 13px; padding: 25px 28px; }
  .partner-options-grid { gap: 18px; }
  .partner-option { padding: 26px; }
  .partner-start-panel { padding: 30px; border-radius: 17px; }
}
@media (max-width: 480px) {
  .partner-intro { gap: 25px; }
  .partner-fit { padding: 24px; }
  .partner-feature-grid { grid-template-columns: 1fr; gap: 16px; }
  .partner-feature { padding: 26px; }
  .partner-feature > h3 { margin-top: 20px; font-size: 1.2rem; }
  .partner-feature > p { font-size: .94rem; }
  .partner-steps { grid-template-columns: 1fr; gap: 23px; }
  .partner-steps > li { padding: 23px 0 0 58px; position: relative; }
  .partner-step-number { position: absolute; top: 24px; left: 0; width: 38px; height: 38px; border-radius: 10px; }
  .partner-steps h3 { margin: 0 0 10px; }
  .partner-core, .partner-readiness { padding: 26px; }
  .partner-core > h3 { font-size: 1.65rem; }
  .partner-readiness > h3 { font-size: 1.7rem; }
  .partner-enrollment { padding: 23px; }
  .partner-options-grid { grid-template-columns: 1fr; }
  .partner-option { padding: 26px; }
  .partner-start-panel { padding: 26px; gap: 24px; }
  .partner-start-panel h2 { font-size: 1.95rem; }
  .partner-start-panel .button-row { align-items: flex-start; gap: 21px; }
  .partner-start-panel .button, .partner-core > .button { padding-inline: 19px; gap: 15px; }
  #partner-faq .faq-list summary { font-size: .96rem; gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .partner-feature { transition: none; }
  .partner-feature:hover { transform: none; }
}
@media print {
  .partner-process-section, .partner-core { print-color-adjust: exact; }
  .partner-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-feature, .partner-fit, .partner-core, .partner-readiness, .partner-enrollment, .partner-option { break-inside: avoid; }
  .partner-process-section { margin-block: 0; padding-block: 30px; }
}

.partner-intro-copy > .eyebrow{font-size:.7rem;color:#294f71;line-height:1.7;margin:0 0 17px}
.partner-option > .eyebrow{font-size:.68rem;color:#294f71;letter-spacing:.12em;margin:0 0 19px}
