@import url("./provider-base.css");

body { overflow-x: hidden; background: #f7f9fc; }

.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.language-menu { position: relative; z-index: 30; }
.language-toggle { min-height: 44px; padding: 0 15px; border: 1px solid var(--blue); border-radius: 8px; background: #fff; color: var(--navy); cursor: pointer; font-size: 13px; font-weight: 900; white-space: nowrap; }
.language-toggle:hover, .language-menu.is-open .language-toggle { background: var(--blue-light); }
.language-list { position: absolute; top: calc(100% + 9px); right: 0; display: none; width: min(230px, 82vw); max-height: min(520px, 72vh); overflow-y: auto; padding: 8px; border: 1px solid var(--line-dark); border-radius: 9px; background: #fff; box-shadow: 0 20px 48px rgba(6,26,54,.18); }
.language-menu.is-open .language-list { display: grid; gap: 6px; }
.language-button { width: 100%; min-height: 38px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--navy); cursor: pointer; font-size: 13px; font-weight: 850; text-align: left; }
.language-button--red { border-left: 4px solid var(--red); }
.language-button--blue { border-left: 4px solid var(--blue); }
.language-button:hover, .language-button.is-active { background: var(--blue-light); color: var(--blue-dark); }

.header-cta { border-color: var(--blue); background: var(--blue); color: #fff; box-shadow: 0 10px 24px rgba(23, 105, 255, .2); cursor: pointer; }
.header-cta:hover { border-color: var(--blue-dark); background: var(--blue-dark); color: #fff; }

.provider-hero { min-height: 680px; align-items: center; }
.provider-hero h1 { max-width: 820px; }
.provider-demo .choice-heading strong { color: var(--navy); }
.provider-hero-visual { align-self: center; display: grid; width: min(100%, 520px); aspect-ratio: 4 / 5; min-height: 0; margin: 0 auto; place-items: center; border-top: 5px solid var(--blue); border-bottom: 5px solid var(--red); background: #eef3fa; box-shadow: 0 25px 65px rgba(11,29,52,.16); overflow: hidden; }
.provider-hero-visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }

.provider-path > div {
  display: grid;
  align-content: center;
  justify-items: center;
  min-height: 154px;
  gap: 8px;
  padding: 20px;
  border-right: 1px solid var(--line);
  background: #fff;
  text-align: center;
}
.provider-path { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.provider-path > div:first-child { border-left: 1px solid var(--line); }
.provider-path span { color: var(--red); font-size: 11px; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.provider-path strong { color: var(--navy); font-size: 17px; }
.provider-path small { margin-top: 5px; color: var(--muted); line-height: 1.4; }

.provider-fees { padding-top: 110px; }
.fee-band-note { max-width: 920px; margin: 22px auto 0; color: var(--muted); font-size: 12px; line-height: 1.55; text-align: center; }
.annual-provider-offer { margin-top: 55px; }
.annual-provider-offer .timing-price strong { font-size: clamp(27px, 3vw, 39px); }
.annual-record-note { margin-top: 16px; }

.provider-value { padding: 110px 34px; background: #f5f8fc; }
.value-columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1100px; margin: 42px auto 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.value-columns article { min-height: 260px; padding: 30px; border-right: 1px solid var(--line); background: #fff; }
.value-columns article:last-child { border-right: 0; }
.value-columns span { color: var(--red); font-family: Georgia, "Times New Roman", serif; font-size: 38px; font-weight: 900; }
.value-columns h3 { margin: 42px 0 11px; color: var(--navy); font-size: 19px; }
.value-columns p { margin: 0; color: var(--muted); line-height: 1.6; }

.provider-checks { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; padding: 110px max(34px, calc((100vw - 1300px) / 2)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #eef3f9; color: var(--navy); }
.provider-checks h2 { margin: 7px 0 15px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 5vw, 68px); line-height: 1; }
.provider-checks > div > p:last-child { max-width: 480px; color: var(--muted); line-height: 1.6; }
.provider-checks ul { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 0; padding: 1px; background: var(--line); list-style: none; }
.provider-checks li { display: grid; gap: 7px; padding: 24px; background: #fff; }
.provider-checks li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.provider-checks li strong { font-size: 15px; }
.provider-checks li span { color: var(--muted); font-size: 13px; line-height: 1.45; }

.provider-rule-list { display: grid; max-width: 1000px; margin: 38px auto 0; border-top: 1px solid var(--line); }
.provider-rule-list > div { display: grid; grid-template-columns: 54px minmax(0, 760px); justify-content: center; gap: 20px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.provider-rule-list b { display: grid; width: 42px; height: 42px; place-items: center; border: 2px solid var(--blue); border-radius: 50%; color: var(--blue); }
.provider-rule-list p { display: grid; gap: 4px; margin: 0; }
.provider-rule-list strong { color: var(--navy); font-size: 17px; }
.provider-rule-list span { color: var(--muted); line-height: 1.5; }
.provider-closing h2 { max-width: 980px; }

.site-footer { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 38px 42px; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 30px; align-items: center; border-top: 6px solid var(--blue); background: #eaf0f7; color: #304761; }
.site-footer > img { width: 118px; height: auto; border-radius: 8px; background: #09111d; object-fit: contain; }
.footer-contact { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); gap: 8px 28px; align-items: center; font-size: 14px; line-height: 1.45; }
.footer-contact strong, .footer-contact .business-address, .social-links { grid-column: 1 / -1; }
.footer-contact strong { color: var(--navy); font-size: 18px; }
.footer-contact a { color: #17314f; font-weight: 850; text-decoration: underline; text-decoration-color: #17314f55; text-underline-offset: 3px; overflow-wrap: anywhere; }
.footer-contact .business-address { color: #b8c5d7; overflow-wrap: anywhere; }
.social-links { display: flex; align-items: center; gap: 9px; margin-top: 4px; }
.footer-contact .social-link { display: grid; width: 38px; height: 38px; place-items: center; border: 2px solid var(--blue); border-radius: 7px; background: var(--blue); color: #fff; font-size: 21px; line-height: 1; text-decoration: none; }
.footer-contact .social-link:hover, .footer-contact .social-link:focus-visible { border-color: var(--red); background: var(--red); }

.founding-spotlight { display: grid; grid-template-columns: minmax(290px, 1fr) minmax(430px, 1.2fr) auto; gap: 34px; align-items: center; max-width: 1300px; margin: -34px auto 0; padding: 32px 38px; position: relative; z-index: 2; background: var(--red); color: #fff; box-shadow: 0 28px 65px rgba(11,29,52,.18); }
.founding-label { margin: 0 0 8px; color: #fff; font-size: 10px; font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.founding-spotlight-copy h2 { margin: 0 0 6px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(27px, 3vw, 40px); line-height: 1.05; }
.founding-spotlight-copy p { margin: 0 0 6px; line-height: 1.45; }
.founding-spotlight-copy small { color: #ffe3e7; }
.founding-sequence { display: grid; grid-template-columns: repeat(6, minmax(52px, 1fr)); gap: 7px; margin: 0; padding: 0; list-style: none; }
.founding-sequence li { display: grid; gap: 4px; min-height: 72px; padding: 12px 6px; place-content: center; border: 1px solid rgba(255,255,255,.38); border-radius: 8px; background: rgba(116, 10, 20, .18); text-align: center; }
.founding-sequence span { font-size: 11px; font-weight: 800; }
.founding-sequence strong { font-size: 13px; }
.founding-sequence .is-free { border-color: #fff; background: #fff; color: var(--red); box-shadow: 0 8px 22px rgba(63, 4, 11, .18); }
.founding-spotlight-button { min-width: 165px; border: 2px solid #fff; background: #fff; color: var(--navy); }

.provider-journey { padding-top: 105px; background: #f5f8fc; }
.provider-journey-head { max-width: 1300px; margin: 0 auto 32px; }
.provider-journey-head h2 { max-width: 760px; margin: 8px 0 0; color: var(--navy); font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 5vw, 70px); line-height: .98; }
.provider-contact-choice { padding: 25px 28px; border-left: 5px solid var(--red); background: #fff; }
.provider-contact-choice h3 { margin: 0 0 8px; color: var(--navy); font-size: 21px; }
.provider-contact-choice p { margin: 0; color: var(--muted); line-height: 1.55; }
.provider-control-line, .provider-journey-note { max-width: 1300px; margin: 0 auto; color: var(--muted); line-height: 1.55; }
.provider-control-line { padding: 20px 0; border-top: 1px solid var(--line); }
.provider-control-line strong { color: var(--navy); }
.provider-journey-note { padding-top: 22px; font-size: 13px; }

.provider-fee-summary { display: grid; grid-template-columns: .85fr 1.15fr; max-width: 1100px; margin: 44px auto 0; border: 1px solid var(--line); background: #fff; box-shadow: 0 25px 65px rgba(11,29,52,.08); }
.fee-shared-rules { padding: 42px; border-right: 1px solid var(--line); background: #eef3f9; color: var(--navy); }
.fee-shared-rules h3 { margin: 0 0 26px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 3vw, 39px); line-height: 1.05; }
.fee-shared-rules ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.fee-shared-rules li { position: relative; padding-left: 25px; color: #304761; line-height: 1.45; }
.provider-closing { border-top: 6px solid var(--red); background: linear-gradient(180deg, #fff, #edf3f9); color: var(--navy); }
.provider-closing .eyebrow { color: var(--blue); }
.provider-closing > p:not(.eyebrow) { color: var(--muted); }
.fee-shared-rules li::before { position: absolute; left: 0; color: #62d69c; content: "✓"; font-weight: 950; }
.fee-table { padding: 18px 32px; }
.fee-table-row { display: grid; grid-template-columns: 1fr 120px; align-items: center; min-height: 70px; border-bottom: 1px solid var(--line); color: var(--navy); }
.fee-table-row:last-child { border-bottom: 0; }
.fee-table-row strong { color: var(--navy); font-family: Georgia, "Times New Roman", serif; font-size: 30px; text-align: right; }
.fee-table-head { min-height: 55px; color: var(--blue); font-size: 11px; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.quote-estimate-notice { display: grid; grid-template-columns: .85fr 1.15fr; gap: 50px; max-width: 1100px; margin: 26px auto 0; padding: 32px 38px; border: 1px solid var(--line); border-left: 6px solid var(--blue); background: #f5f8fc; }
.quote-estimate-notice h3 { margin: 5px 0 0; color: var(--navy); font-family: Georgia, "Times New Roman", serif; font-size: clamp(25px, 3vw, 35px); line-height: 1.08; }
.quote-estimate-notice ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.quote-estimate-notice li { position: relative; padding-left: 22px; color: var(--muted); line-height: 1.5; }
.quote-estimate-notice li::before { position: absolute; left: 0; color: var(--green); content: "✓"; font-weight: 950; }

@media (max-width: 980px) {
  .founding-spotlight { grid-template-columns: 1fr; margin: -20px 24px 0; }
  .founding-spotlight-button { grid-column: 1 / -1; width: 100%; }
  .provider-journey-head, .provider-fee-summary, .quote-estimate-notice { grid-template-columns: 1fr; }
  .provider-journey-head { gap: 30px; }
  .value-columns { grid-template-columns: 1fr 1fr; }
  .value-columns article:nth-child(2) { border-right: 0; }
  .value-columns article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .provider-checks { grid-template-columns: 1fr; gap: 38px; }
}

@media (max-width: 820px) {
  .provider-hero-visual { align-self: auto; min-height: 0; }
  .provider-hero-visual img { height: auto; max-height: none; }
  .provider-path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .provider-hero { min-height: auto; }
  .provider-hero,
  .provider-hero .hero-copy,
  .provider-hero-visual { min-width: 0; max-width: 100%; }
  .provider-hero h1 { max-width: 100%; font-size: clamp(31px, 9.2vw, 39px); overflow-wrap: anywhere; }
  .provider-hero .hero-lede { max-width: 100%; font-size: 16px; overflow-wrap: anywhere; }
  .provider-hero .hero-actions .button { width: 100%; }
  .site-header .header-cta { display: none; }
  .header-actions { margin-left: auto; }
  .language-toggle { min-height: 42px; padding: 0 12px; }
  .language-list { position: fixed; top: 74px; right: 14px; left: 14px; width: auto; max-height: calc(100vh - 96px); }
  .review-bar { width: 100%; overflow: hidden; padding-right: 12px; padding-left: 12px; }
  .review-bar span { max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; }
  .founding-spotlight { grid-template-columns: 1fr; gap: 20px; margin: 0; padding: 30px 24px; }
  .founding-sequence { grid-template-columns: repeat(3, 1fr); }
  .provider-journey { padding-top: 75px; }
  .provider-journey-head, .provider-control-line, .provider-journey-note { margin-right: 20px; margin-left: 20px; }
  .provider-path > div, .provider-path > div:first-child { min-height: 120px; border: 1px solid var(--line); border-bottom: 0; }
  .provider-path > div:last-child { border-bottom: 1px solid var(--line); }
  .provider-path { grid-template-columns: minmax(0, 1fr); }
  .provider-fees { padding-top: 72px; }
  .fee-shared-rules { padding: 30px 24px; }
  .fee-table { padding: 10px 22px; }
  .fee-table-row { grid-template-columns: 1fr 92px; }
  .fee-table-row strong { font-size: 25px; }
  .quote-estimate-notice { gap: 24px; padding: 28px 24px; }
  .value-columns { grid-template-columns: 1fr; }
  .value-columns article, .value-columns article:nth-child(2) { min-height: 215px; border-right: 0; border-bottom: 1px solid var(--line); }
  .value-columns article:last-child { border-bottom: 0; }
  .provider-checks { padding: 75px 20px; }
  .provider-checks ul { grid-template-columns: 1fr; }
  .provider-checks li:last-child:nth-child(odd) { grid-column: 1; }
  .provider-rule-list > div { grid-template-columns: 45px 1fr; gap: 13px; }
  .site-footer { grid-template-columns: 1fr; padding: 30px 24px; }
  .site-footer > img { width: 96px; }
  .footer-contact { grid-template-columns: 1fr; gap: 10px; }
  .footer-contact strong, .footer-contact .business-address, .social-links { grid-column: 1; }
  .mobile-plan-bar button { display: block; width: 100%; padding: 12px; border: 0; border-radius: 8px; background: var(--blue); color: #fff; font: inherit; font-weight: 900; text-align: center; cursor: pointer; }
}

/* Centered review direction */
.provider-hero {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 42px;
  min-height: 0;
  padding-top: 88px;
  padding-bottom: 88px;
  text-align: center;
}

.provider-hero .hero-copy {
  display: grid;
  justify-items: center;
  width: min(100%, 920px);
  max-width: 920px;
}

.provider-hero h1,
.provider-hero .hero-lede,
.provider-hero .hero-fine {
  margin-right: auto;
  margin-left: auto;
}

.provider-hero .hero-actions {
  justify-content: center;
}

.provider-hero-visual {
  width: min(100%, 650px);
}

.founding-spotlight {
  text-align: center;
}

.founding-spotlight-copy {
  display: grid;
  justify-items: center;
}

.provider-fees .section-head-left,
.provider-value .section-head-left,
.compare .section-head-left,
.faq .section-head-left {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.provider-value .section-head,
.provider-fees .section-head,
.compare .section-head,
.faq .section-head {
  max-width: 860px;
}

.faq-list {
  width: 100%;
  max-width: 1180px;
  margin-right: auto;
  margin-left: auto;
}

.faq summary {
  padding-right: 58px;
  padding-left: 58px;
  text-align: center;
}

.faq details p {
  max-width: 880px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 28px;
  padding-left: 28px;
  text-align: center;
}

.value-columns article {
  text-align: center;
}

.provider-journey-head {
  display: grid;
  justify-items: center;
  text-align: center;
}

.provider-journey-head h2 {
  max-width: 900px;
  margin-inline: auto;
}

.provider-control-line,
.provider-journey-note {
  text-align: center;
}

.provider-checks {
  grid-template-columns: 1fr;
  gap: 42px;
  text-align: center;
}

.provider-checks > div {
  display: grid;
  justify-items: center;
}

.provider-checks > div > p:last-child {
  max-width: 720px;
  margin-inline: auto;
}

.provider-checks ul {
  width: min(100%, 1000px);
  margin-inline: auto;
  text-align: center;
}

.provider-rule-list > div {
  justify-items: center;
}

.provider-rule-list p {
  width: 100%;
  align-content: center;
  text-align: center;
}

.provider-closing {
  text-align: center;
}

.provider-closing h2,
.provider-closing > p {
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 620px) {
  .provider-hero {
    gap: 28px;
    padding: 58px 20px 64px;
  }

  .provider-hero .hero-copy {
    width: min(100%, calc(100vw - 40px));
  }

  .provider-hero h1 {
    width: min(100%, 350px);
    font-size: clamp(29px, 8vw, 34px);
    line-height: 1;
  }

  .provider-hero h1 span {
    display: block;
  }

  .provider-hero .hero-lede,
  .provider-hero .hero-fine {
    width: min(100%, 350px);
  }

  .provider-hero-visual {
    width: min(100%, 350px);
    max-width: calc(100vw - 40px);
  }

  .provider-path > div {
    justify-items: center;
    text-align: center;
  }

  .provider-rule-list p {
    text-align: center;
  }

  .faq summary {
    padding-right: 42px;
    padding-left: 16px;
    text-align: left;
  }

  .faq details p {
    padding-right: 16px;
    padding-left: 16px;
    text-align: left;
  }
}
.provider-signup{max-width:1120px;margin:0 auto;padding:clamp(64px,8vw,112px) clamp(20px,5vw,72px);text-align:center}
.provider-signup-form{max-width:900px;margin:34px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:clamp(24px,4vw,44px);background:#fff;border:1px solid #d8e1ed;border-top:5px solid #1769ff;box-shadow:0 20px 55px rgba(15,37,66,.1);text-align:left}
.provider-signup-form label,.provider-plan-choice{display:grid;gap:8px;font-weight:800;color:#10233d}
.provider-signup-form input[type="text"],.provider-signup-form input[type="tel"],.provider-signup-form input[type="email"],.provider-signup-form textarea{width:100%;border:1px solid #b9c8da;border-radius:8px;padding:13px 14px;background:#fff;color:#10233d;font:inherit;font-weight:400}
.provider-signup-form .field-wide{grid-column:1/-1}.provider-plan-choice{border:1px solid #d8e1ed;padding:18px}.provider-plan-choice label,.provider-readiness-checks label{display:flex;align-items:flex-start;gap:12px;font-weight:600}.provider-readiness-checks label span{display:block;min-width:0;line-height:1.45}.provider-readiness-checks label a{display:inline;color:#123b78}.provider-readiness-checks input[type="checkbox"]{flex:0 0 auto;margin-top:3px}.provider-readiness-checks{display:grid;gap:14px;padding:18px;background:#f3f7fc}.provider-signup-form .form-note{text-align:center;color:#5d6d82}.mobile-plan-bar a{display:block;text-decoration:none}
#provider-renewal-consent-row[hidden]{display:none!important}
.provider-signup-success{max-width:760px;margin:34px auto 0;padding:clamp(28px,5vw,52px);border:2px solid #1769ff;border-top:8px solid #1769ff;background:#fff;box-shadow:0 22px 60px rgba(15,37,66,.12);text-align:center}.provider-success-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:#1769ff;color:#fff;font-size:36px;font-weight:900}.provider-signup-success h3{font-size:clamp(30px,5vw,48px);margin:0 0 14px}.provider-signup-success h4{font-size:clamp(22px,3vw,30px);margin:28px 0 8px}.provider-signup-success p{max-width:620px;margin:10px auto;color:#42546b}.provider-signup-success .button{min-width:min(100%,360px);margin:18px auto 0}.provider-signup-success .button-secondary{background:#fff;color:#1769ff;border:2px solid #1769ff}
@media(max-width:720px){.provider-signup-form{grid-template-columns:1fr}.provider-signup-form>*{grid-column:1}}
