/* Smoov Credit - hand-written layout. Every colour, size and font is a variable from tokens.css,
   which is generated from styles measured on the live site; per-section backgrounds and heading,
   text and button colours are generated rules there too. Divi breakpoints: 980px and 767px. */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #ffffff; color: var(--smc-color-text); font-family: var(--smc-font-body);
  font-size: var(--smc-size-body); line-height: var(--smc-line-body); }
img { max-width: 100%; height: auto; }
a { color: var(--smc-nav-color); }
:focus-visible { outline: 2px solid var(--smc-submenu-accent); outline-offset: 2px; }
.smc-skip { position: absolute; left: -9999px; }
.smc-skip:focus { left: 8px; top: 8px; z-index: 100; padding: 8px 12px; background: #ffffff; }

/* ---------- header ---------- */
.smc-header { position: relative; z-index: 50; background: var(--smc-header-bg); box-shadow: 0 1px 0 rgba(0, 0, 0, .1); }
.smc-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px;
  width: 80%; max-width: var(--smc-row-max); min-height: var(--smc-header-height); margin: 0 auto; }
.smc-logo img { display: block; width: auto; height: var(--smc-logo-height); }
.smc-nav__list { display: flex; align-items: center; gap: 22px; margin: 0; padding: 0; list-style: none; }
.smc-nav a, .smc-nav__disclosure { padding: 8px 0; border: 0; background: none; color: var(--smc-nav-color);
  cursor: pointer; font-family: var(--smc-font-nav); font-size: var(--smc-nav-size);
  font-weight: var(--smc-nav-weight); text-decoration: none; }
.smc-nav__disclosure::after { content: ""; display: inline-block; margin-left: 6px; vertical-align: middle;
  border: 4px solid transparent; border-top-color: currentColor; }
.smc-nav__parent { position: relative; }
.smc-nav__sub { display: none; position: absolute; top: 100%; left: 0; min-width: var(--smc-submenu-width);
  margin: 0; padding: 20px 0; list-style: none; background: var(--smc-submenu-bg);
  border-top: var(--smc-submenu-accent-width) solid var(--smc-submenu-accent); box-shadow: 0 2px 5px rgba(0, 0, 0, .1); }
.smc-nav__sub a { display: block; padding: 6px 20px; }
.smc-nav__parent.is-open .smc-nav__sub { display: block; }
@media (hover: hover) and (min-width: 981px) { .smc-nav__parent:hover .smc-nav__sub { display: block; } }
.smc-nav-toggle { display: none; padding: 8px; border: 0; background: none; color: var(--smc-nav-color);
  cursor: pointer; font-family: var(--smc-font-nav); font-weight: var(--smc-nav-weight); }
@media (max-width: 980px) {
  .smc-nav-toggle { display: block; }
  .smc-nav { display: none; position: absolute; top: 100%; right: 0; left: 0; padding: 5%;
    background: var(--smc-submenu-bg); border-top: var(--smc-submenu-accent-width) solid var(--smc-submenu-accent); }
  .smc-nav.is-open { display: block; }
  .smc-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
  .smc-nav__sub { position: static; padding: 0 0 0 16px; border-top: 0; box-shadow: none; }
}

/* ---------- content ---------- */
.smc-main { display: block; }
.wp-block-group.alignfull { margin: 0; }
.smc-row, .alignfull > .wp-block-columns { width: 80%; max-width: var(--smc-row-max); margin-left: auto; margin-right: auto; }
.wp-block-columns { gap: 5.5%; }
h1, h2, h3, h4 { margin: 0 0 .5em; }
h1 { font-size: var(--smc-h1-size); font-weight: var(--smc-h1-weight); line-height: var(--smc-h1-line); }
h2 { font-size: var(--smc-h2-size); font-weight: var(--smc-h2-weight); line-height: var(--smc-h2-line); }
h3 { font-size: var(--smc-h3-size); font-weight: var(--smc-h3-weight); }
h4 { font-size: var(--smc-h4-size); font-weight: var(--smc-h4-weight); line-height: var(--smc-h4-line); }
p, li { font-size: var(--smc-size-p); line-height: var(--smc-line-p); }
.wp-block-button__link { display: inline-block; padding: var(--smc-btn-pad-y) var(--smc-btn-pad-x);
  border: var(--smc-btn-border-width) solid var(--smc-btn-border-color); border-radius: var(--smc-btn-radius);
  background-color: var(--smc-btn-bg); color: var(--smc-btn-color); font-family: var(--smc-font-btn);
  font-size: var(--smc-btn-size); font-weight: var(--smc-btn-weight); text-decoration: none; }
.wp-block-separator { border: 0; border-top: 1px solid currentColor; opacity: .2; }

/* blurbs and icons: the glyph is a local SVG mask, coloured by the surrounding text colour */
.smc-blurb { display: flex; flex-direction: column; gap: 12px; }
.smc-blurb .wp-block-image img { width: auto; max-height: 96px; }
[class*="smc-icon-"]::before { content: ""; display: block; width: 48px; height: 48px; background-color: currentColor;
  -webkit-mask: var(--smc-icon) center / contain no-repeat; mask: var(--smc-icon) center / contain no-repeat; }
.smc-icon-none::before { display: none; }
.smc-icon-envelope { --smc-icon: url(icons/envelope.svg); }
.smc-icon-map-marker { --smc-icon: url(icons/map-marker.svg); }
.smc-icon-credit-card { --smc-icon: url(icons/credit-card.svg); }
.smc-icon-check { --smc-icon: url(icons/check.svg); }
.smc-icon-clock { --smc-icon: url(icons/clock.svg); }
.smc-icon-chat { --smc-icon: url(icons/chat.svg); }

/* the YouTube link card that replaces the embedded player (decision D3) */
.smc-video-facade a { display: inline-flex; align-items: center; gap: 12px; font-weight: 600; text-decoration: none; }
.smc-video-facade a::before { content: ""; width: 0; height: 0; border-top: 9px solid transparent;
  border-bottom: 9px solid transparent; border-left: 14px solid currentColor; }

.smc-fold, .smc-reach { width: 80%; max-width: var(--smc-row-max); margin: 0 auto; padding: 54px 0; }
.smc-404 { padding: 80px 0; }

/* ---------- footer ---------- */
.smc-footer { padding-top: var(--smc-footer-pad-top); padding-bottom: var(--smc-footer-pad-bottom);
  background: var(--smc-footer-bg); color: var(--smc-footer-color); font-size: var(--smc-footer-size); }
.smc-footer a { color: inherit; text-decoration: none; }
.smc-footer ul { margin: 0; padding: 0; list-style: none; }
.smc-footer p, .smc-footer li { font-size: var(--smc-footer-size); }
.smc-footer__inner { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; width: 80%;
  max-width: var(--smc-row-max); margin: 0 auto; }
.smc-footer__brand img { width: 180px; max-width: 100%; height: auto; }
.smc-footer__heading { margin: 0 0 12px; color: inherit; font-size: var(--smc-h4-size); }
.smc-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; width: 80%;
  max-width: var(--smc-row-max); margin: 40px auto 0; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .15); }

/* ---------- small screens ---------- */
@media (max-width: 980px) { .smc-footer__inner { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) {
  .smc-row, .alignfull > .wp-block-columns, .smc-header__inner, .smc-footer__inner, .smc-footer__legal,
  .smc-fold, .smc-reach { width: 90%; }
  .smc-footer__inner { grid-template-columns: 1fr; }
  h1 { font-size: calc(var(--smc-h1-size) * .75); }
  h2 { font-size: calc(var(--smc-h2-size) * .8); }
}

/* ---------- About Us banner (amendment A9) ----------
   These values come from the never-published Divi draft of the About Us page (draft 759,
   source/draft-759.json), carried by owner decision D6b, 2026-09-24. Section 0 is the banner:
   Bank_01.jpg under the draft's gradient, which overlays the image and sets no direction (Divi's
   default is 180deg), with 5% top and bottom padding; a white Roboto 900 title at 5vw (55px tablet,
   35px phone); and a 150px, 5px, left-aligned #70adba divider. Section 1: headings weight 800 at
   40px (32px tablet and phone), text 16px. */
.smc-s-about-us-0 { padding: 5% 0; color: #ffffff; background-color: #272d37;
  background-image: linear-gradient(180deg, #272d37 0%, rgba(39, 45, 55, .61) 100%), url(about/Bank_01.jpg);
  background-size: cover; background-position: center; background-repeat: no-repeat; }
.smc-s-about-us-0 h1 { color: #ffffff; font-family: var(--smc-font-body); font-weight: 900; font-size: 5vw; }
.smc-s-about-us-0 .wp-block-separator { width: 150px; max-width: 100%; margin-top: 0; margin-bottom: 0; margin-left: 0 !important; margin-right: auto !important; border: 0;
  border-top: 5px solid #70adba; opacity: 1; }
.smc-s-about-us-1 h2 { font-weight: 800; font-size: 40px; }
.smc-s-about-us-1 p { font-size: 16px; }
@media (max-width: 980px) {
  .smc-s-about-us-0 h1 { font-size: 55px; }
  .smc-s-about-us-1 h2 { font-size: 32px; }
}
@media (max-width: 767px) {
  .smc-s-about-us-0 h1 { font-size: 35px; }
}

/* ---------- Visual-fidelity fixes (Task 10 Step 12 loop, amendment A12, 2026-09-25) ----------
   Ids (V1, CU2, ...) are the entries in evidence/checkpoints/task-10-visual-log.md. Every value comes
   from one of three sources, named in each comment:
   - "live CSS": the Divi/Bootstrap CSS inlined in the saved source pages tests/fixtures/<page>.html;
   - "measured": a read-only measurement of the live site, 2026-09-25 (public HTTPS headless Chrome,
     unpinned, TLS verified; getBoundingClientRect/getComputedStyle at 1440 and 375);
   - "tokens": source/design-tokens.json.
   Estimates are marked as such. Divi breakpoints: 980px and 767px. */

/* V14: the live default h1 is 40px/700 (live CSS h1{font-size:40px} and h1{font-weight:700}); the
   tokens took the home hero's 3vw/900. Divi keeps heading sizes on phones (measured h1 40px, h2 34px
   at 375), so the x0.75 / x0.8 phone scaling above is undone. */
h1 { font-size: 40px; font-weight: 700; }
@media (max-width: 767px) {
  h1 { font-size: 40px; }
  h2 { font-size: var(--smc-h2-size); }
}
/* Divi + Bootstrap 5.0.1 vertical rhythm: headings padding-bottom 10px (Divi h1-h6) and margin-bottom
   8px (Bootstrap .5rem); paragraphs margin 0 0 16px (Bootstrap 1rem) plus padding-bottom 1em (Divi
   p{padding-bottom:1em}), none on the last one (Divi p:not(.has-background):last-of-type). Measured
   on /tradeline-information/: p margin-bottom 16px and padding-bottom 16px; headings 10px and 8px. */
h1, h2, h3, h4, h5, h6 { margin: 0 0 8px; padding-bottom: 10px; }
p { margin: 0 0 16px; padding-bottom: 1em; }
p:last-of-type { padding-bottom: 0; }
/* Divi buttons: line-height 1.7em (measured 34px at 20px; the home and signup buttons are 50px tall). */
.wp-block-button__link { line-height: 1.7em; }
/* Divi's last module in a column has no bottom margin (live CSS .et_pb_module:last-child); a Divi row
   has no bottom margin either (core gives .wp-block-columns 1.75em = 31.5px, measured). */
.wp-block-image:last-child { margin-bottom: 0; }
.alignfull > .wp-block-columns { margin-top: 0; margin-bottom: 0; }

/* Divi row padding (live CSS: .et_pb_row{padding:30px 0} at <=980, .et_pb_row{padding:2% 0} at >=981,
   customizer .et_pb_row{padding:27px 0} at >=1350; measured 27px at 1440 and 30px at 375). The About
   banner row keeps the A9 specification unchanged. */
.smc-row, .alignfull > .wp-block-columns { padding-top: 30px; padding-bottom: 30px; }
@media (min-width: 981px) { .smc-row, .alignfull > .wp-block-columns { padding-top: 2%; padding-bottom: 2%; } }
@media (min-width: 1350px) { .smc-row, .alignfull > .wp-block-columns { padding-top: 27px; padding-bottom: 27px; } }
.smc-s-about-us-0 .smc-row { padding-top: 0; padding-bottom: 0; }
/* Divi stacks columns at <=980 (live CSS .et_pb_column{width:100%;margin-bottom:30px}, last one 0) and
   hides empty columns there (.et_pb_column.et_pb_column_empty{display:none}). */
@media (max-width: 980px) {
  .alignfull > .wp-block-columns { flex-wrap: wrap !important; row-gap: 30px; }
  .alignfull > .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
  .alignfull > .wp-block-columns > .wp-block-column:empty { display: none; }
}
/* Divi's default section padding below 1350px (live CSS .et_pb_section{padding:4% 0} at >=981 and
   {padding:50px 0} at <=980; the tokens measured the >=1350 customizer value, 54px) for the sections
   that use the default, i.e. have no custom padding in the live CSS. Measured 50px at 375. */
@media (max-width: 1349px) {
  .smc-s-home-1, .smc-s-home-2, .smc-s-credit-repair-0, .smc-s-credit-repair-2, .smc-s-credit-repair-3,
  .smc-s-business-credit-1, .smc-s-signup-0, .smc-s-tradeline-information-2, .smc-s-tradeline-information-3,
  .smc-s-tradeline-information-4 { padding-top: 4%; padding-bottom: 4%; }
  .smc-s-tradeline-information-1, .smc-s-contact-us-2 { padding-bottom: 4%; }
}
@media (max-width: 980px) {
  .smc-s-home-1, .smc-s-home-2, .smc-s-credit-repair-0, .smc-s-credit-repair-2, .smc-s-credit-repair-3,
  .smc-s-business-credit-1, .smc-s-signup-0, .smc-s-tradeline-information-2, .smc-s-tradeline-information-3,
  .smc-s-tradeline-information-4 { padding-top: 50px; padding-bottom: 50px; }
  .smc-s-tradeline-information-1, .smc-s-contact-us-2 { padding-bottom: 50px; }
}
/* V13: rows and the footer stay at 80% on phones (measured x=37.5 at 375); the header is handled below. */
@media (max-width: 767px) {
  .smc-row, .alignfull > .wp-block-columns, .smc-footer__inner, .smc-fold, .smc-reach { width: 80%; }
}

/* ---------- header ---------- */
/* V3: the live header container is Bootstrap 5.0.1's .container, which overrides Divi's 80%/1080px:
   width 100%, 12px side padding, max-width 540/720/960/1140/1320px from 576/768/992/1200/1400px (Divi's
   1080px below 576px). Measured: box 60-1380 (1320px) at 1440, 0-375 with 12px padding at 375. The logo
   sits 4.7px in from the container edge (measured x=76.7 and 16.7: the width of the space character
   before the live logo image). Header height at <=980 measured 80px; logo 54% of it (live CSS #logo
   max-height:54%) = 43.2px. */
.smc-header__inner { width: 100%; max-width: 1080px; padding-left: 12px; padding-right: 12px; }
@media (min-width: 576px) { .smc-header__inner { max-width: 540px; } }
@media (min-width: 768px) { .smc-header__inner { max-width: 720px; } }
@media (min-width: 992px) { .smc-header__inner { max-width: 960px; } }
@media (min-width: 1200px) { .smc-header__inner { max-width: 1140px; } }
@media (min-width: 1400px) { .smc-header__inner { max-width: 1320px; } }
.smc-logo { margin-left: 4.7px; }
@media (max-width: 980px) {
  .smc-header__inner { min-height: 80px; }
  .smc-logo img { height: 43.2px; }
}
/* V1: non-current links #565656 (live CSS #top-menu a{color:#565656}, also the mobile menu); the current
   item and its ancestor #186b8c (tokens nav colour; live CSS #top-menu li.current-menu-ancestor>a,
   li.current-menu-item>a{color:#186b8c}), desktop menu only. */
.smc-nav a, .smc-nav__disclosure { color: #565656; }
@media (min-width: 981px) {
  .smc-nav a[aria-current="page"],
  .smc-page-credit-repair .smc-nav__disclosure, .smc-page-tradeline-information .smc-nav__disclosure,
  .smc-page-credit-repair .smc-nav__sub a[href$="/credit-repair/"],
  .smc-page-tradeline-information .smc-nav__sub a[href$="/tradeline-information/"] { color: var(--smc-nav-color); }
}
/* V2: the Signup item is a filled button (measured: 89.9x40 box, background #0c71c3, radius 5px, padding
   10px 20px plus the inline whitespace = 22px text inset, 14px/600 white text, top 3px below centre,
   margin-right 15px). */
@media (min-width: 981px) {
  .smc-nav__list > li:last-child { margin: 6px 15px 0 0; }
  .smc-nav__list > li:last-child > a { display: block; padding: 13px 22px; line-height: 14px; border-radius: 5px;
    background: #0c71c3; color: #fff; }
}
/* V6: a thin chevron like ETmodules "3" (measured about 8x5px, about 9px after the label; the live link
   reserves 20px for it, so the item is 104.6px wide at 1440). */
.smc-nav__disclosure::after { width: 6px; height: 6px; margin: -4px 5px 0 9px; border: solid currentColor;
  border-width: 0 2px 2px 0; transform: rotate(45deg); }
/* V5: the hamburger (measured: ETmodules "a" 32px, colour #2ea3f2 = live .mobile_menu_bar:before; three
   20x2px bars 6px apart, 6px from the left and 8px from the top of the 32px box). The "Select Page" label
   stays in the markup as the accessible name, pushed out of the clipped box. */
@media (max-width: 980px) {
  .smc-nav-toggle { position: relative; width: 32px; height: 32px; padding: 0; overflow: hidden;
    white-space: nowrap; text-indent: 40px; }
  .smc-nav-toggle::before { content: ""; position: absolute; left: 6px; top: 8px; width: 20px; height: 2px;
    background: #2ea3f2; box-shadow: 0 6px 0 #2ea3f2, 0 12px 0 #2ea3f2; }
}

/* ---------- footer (V7-V11; measured on the live Theme Builder footer) ---------- */
/* Columns 225.4px with a 5.5% gutter (x=180, 464.8, 749.7, 1034.5 at 1440), 5px below the footer padding
   (live CSS .et_pb_row_0_tb_footer{padding-top:5px}); 30px between stacked columns. */
.smc-footer__inner { column-gap: 5.5%; padding-top: 5px; }
/* V11: logo 85% of its column (live CSS .et_pb_image_0_tb_footer{width:85%}; 70% <=980; 59% <=767). */
.smc-footer__brand img { display: block; width: 85%; }
/* V7: headings Roboto 16px/24px regular white; a 1px #7ebec5 divider 53.7px below the heading top;
   the links start 76.4px and the contact lines 85.4px below it (measured). */
.smc-footer__heading { margin: 0 0 21.7px; padding-bottom: 0; color: #fff; font-size: 16px; font-weight: 400; line-height: 24px; }
.smc-footer__heading::after { content: ""; display: block; margin-top: 29.7px; border-top: 1px solid #7ebec5; }
.smc-footer__contact .smc-footer__heading { margin-bottom: 30.7px; }
/* V8: links #afafaf at line-height 2.4em (live CSS .et_pb_text_1_tb_footer a{color:#afafaf}); the live
   link lists are paragraphs, so 16px (Bootstrap p margin) follows each list (measured at 375). */
.smc-footer__col a, .smc-footer__contact, .smc-footer__contact a { color: #afafaf; }
.smc-footer__col li { line-height: 2.4em; }
.smc-footer__col ul { margin-bottom: 16px; }
/* V9: envelope and map-marker icons, 20px #afafaf, text 32px in; lines 40px apart (measured). */
.smc-footer__contact p { position: relative; margin: 0 0 16px; padding: 0 0 0 32px; }
.smc-footer__contact p::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px;
  background-color: #afafaf; -webkit-mask: url(icons/envelope.svg) center / contain no-repeat;
  mask: url(icons/envelope.svg) center / contain no-repeat; }
.smc-footer__contact p + p::before { -webkit-mask-image: url(icons/map-marker.svg); mask-image: url(icons/map-marker.svg); }
/* V10: a full-width 1px #7ebec5 rule 10px below the tallest column (both footer rows' 5px padding), so
   26px below the last link; the copyright centred in the 80% / 1080px row, #d6d6d6 15px/1.5em (14px
   <=980), 28px below the rule and 26px above the page end (measured). */
.smc-footer__legal { width: 100%; max-width: none; margin-top: 10px; padding: 27px max(10%, calc((100% - 1080px) / 2)) 16px;
  justify-content: center; border-top: 1px solid #7ebec5; color: #d6d6d6; text-align: center; }
.smc-footer__legal p { margin: 0; padding: 0; font-size: 15px; line-height: 1.5em; }
@media (max-width: 980px) {
  .smc-footer { padding-top: 50px; }
  .smc-footer__inner { row-gap: 30px; }
  .smc-footer__brand img { width: 70%; }
  .smc-footer__heading { margin-bottom: 12px; }
  .smc-footer__heading::after { margin-top: 16px; }
  .smc-footer__contact .smc-footer__heading { margin-bottom: 18px; }
  nav.smc-footer__col:first-of-type li { line-height: 1.7em; }
  .smc-footer__legal p { font-size: 14px; }
}
@media (max-width: 767px) {
  .smc-footer__brand { margin-bottom: 20px; }
  .smc-footer__brand img { width: 59%; }
}

/* ---------- shared components ---------- */
/* V15: core's constrained layout gives every blurb child auto margins (quoted in A10); undo it inside
   the flex-column blurb (specificity 0,2,0 against core's 0,1,0, both !important). */
.wp-block-group.smc-blurb > * { margin-left: 0 !important; margin-right: 0 !important; }
/* V16: title dividers 150x5px at the left (live CSS .et_pb_divider_0{max-width:150px}, border-top 5px
   #2edcb1 on tradeline-information, #0C71C3 on contact-us), one Divi module margin below the h1
   (2.75% of the row at >=981, 30px at <=980; measured 28.5px at 1440, 30px at 375). */
.smc-s-tradeline-information-0 .wp-block-separator, .smc-s-contact-us-0 .wp-block-separator { width: 150px; max-width: 100%;
  margin-top: 2.75%; margin-bottom: 0; margin-left: 0 !important; margin-right: auto !important; border: 0;
  border-top: 5px solid #2edcb1; opacity: 1; }
.smc-s-contact-us-0 .wp-block-separator { border-top-color: #0c71c3; }
@media (max-width: 980px) {
  .smc-s-tradeline-information-0 .wp-block-separator, .smc-s-contact-us-0 .wp-block-separator { margin-top: 30px; }
}
/* V17: Divi's semicircle background pattern (decoded byte-exact from the live CSS data URI into
   patterns/semicircles.svg; 200x200, repeated from 0 0). No shadow: the live shadow and mask rules
   target .et_pb_section_2, which is not in the page (measured box-shadow none). */
.smc-s-credit-repair-2, .smc-s-tradeline-information-2 { background: #ffffff url(patterns/semicircles.svg) 0 0 / 200px 200px repeat; }
/* Divi column widths with its 5.5% gutter: 2/3 = 64.833%, 1/3 = 29.6667% (measured 700.2 and 320.4px). */
@media (min-width: 981px) {
  .smc-s-tradeline-information-1 .wp-block-column:first-child { flex-basis: 64.833% !important; }
  .smc-s-tradeline-information-1 .wp-block-column:last-child { flex-basis: 29.6667% !important; }
}

/* ---------- home ---------- */
/* H2: hero h1 3vw/900/1.1em, h4 20px/1.4em (live CSS .et_pb_text_0 h1, h4); 55px <=980; 35px and 18px
   <=767. The button module sits one module margin below (5.82% of the column; measured 29.7px). At
   <=980 the text module has padding 40px 5vw and no bottom margin (live CSS .et_pb_text_0). */
.smc-s-home-0 h1 { font-size: 3vw; font-weight: 900; line-height: 1.1em; }
.smc-s-home-0 h4 { font-size: 20px; line-height: 1.4em; }
.smc-s-home-0 .wp-block-buttons { margin-top: 5.82%; }
@media (max-width: 980px) {
  .smc-s-home-0 h1 { font-size: 55px; padding: 40px 5vw 10px; }
  .smc-s-home-0 h4 { padding: 0 5vw 10px; margin-bottom: 48px; }
  .smc-s-home-0 .wp-block-buttons { margin-top: 0; }
  /* the stacked column keeps Divi's 30px column margin: the hidden empty column is the last child */
  .smc-s-home-0 .wp-block-column:first-child { margin-bottom: 30px; }
}
@media (max-width: 767px) {
  .smc-s-home-0 h1 { font-size: 35px; }
  .smc-s-home-0 h4 { font-size: 18px; }
}
/* H3: the text columns are vertically centred (live CSS .et_pb_column_2,.et_pb_column_5{display:flex;
   justify-content:center;flex-direction:column}). The charts' smaller size in the source capture is
   Divi's scroll-driven scale effect (et_pb_motion_elements, 70% -> 100%); at rest they fill the
   column (measured 510.3x427.8, as rebuilt). */
.smc-s-home-1 .wp-block-column:first-child, .smc-s-home-2 .wp-block-column:last-child { display: flex;
  flex-direction: column; justify-content: center; }
/* The live text modules split these columns (text_1 = h2 + p, text_2 = p; text_3 = h2, text_4 = p + p) and
   are flex items, so each keeps its inner 16px/8px margin and adds one module margin (5.82% of the column
   at >=981, 30px at <=980): measured 46px from the first paragraph to the second at 375. */
.smc-s-home-1 .wp-block-column:first-child > p:first-of-type { padding-bottom: 0; margin-bottom: calc(16px + 5.82%); }
.smc-s-home-2 .wp-block-column:last-child > h2 { margin-bottom: calc(8px + 5.82%); }
@media (max-width: 980px) {
  .smc-s-home-1 .wp-block-column:first-child > p:first-of-type { margin-bottom: 46px; }
  .smc-s-home-2 .wp-block-column:last-child > h2 { margin-bottom: 38px; }
}

/* ---------- credit-repair ---------- */
/* CR1: hero text white (live CSS .et_pb_text_1.et_pb_text,.et_pb_text_2.et_pb_text{color:#FFFFFF!important}). */
.smc-s-credit-repair-0 p { color: #ffffff; }
/* CR2: the illustration as on the live site (live CSS .et_pb_image_0{width:100%;position:absolute!important;
   top:15px;left:-410px}; hidden <=980): cut off by the viewport at the left and passing under the next
   section, which is positioned like every Divi section (.et_pb_section{position:relative}). Owner
   decision at Gate 5. */
@media (min-width: 981px) {
  .smc-s-credit-repair-0 .wp-block-column:first-child { position: relative; }
  .smc-s-credit-repair-0 .wp-block-image { position: absolute; top: 15px; left: -410px; width: 100%; margin: 0; }
  .smc-s-credit-repair-1 { position: relative; }
}
@media (max-width: 980px) {
  .smc-s-credit-repair-0 .wp-block-image { display: none; }
  /* the h1's module keeps its 30px module margin because the hidden image module follows it (measured) */
  .smc-s-credit-repair-0 h1 { margin-bottom: 30px; }
}
/* The two hero paragraphs are separate live text modules: one module margin apart (5.82% of the column
   at >=981, 30px at <=980; measured 30px at 375), not the 32px paragraph rhythm. */
.smc-s-credit-repair-0 .wp-block-column:last-child > p:first-of-type { padding-bottom: 0; margin-bottom: 5.82%; }
@media (max-width: 980px) { .smc-s-credit-repair-0 .wp-block-column:last-child > p:first-of-type { margin-bottom: 30px; } }
/* The education text is black (live CSS .et_pb_text_4.et_pb_text{color:#000000!important}). */
.smc-s-credit-repair-1 p { color: #000000; }

/* ---------- business-credit ---------- */
/* BC3: the hero text module is right-aligned (live class et_pb_text_align_right; measured text-align right,
   so the h1 starts at x=366 in a column that starts at x=180). BC4: h1 46px/700 (live CSS
   .et_pb_text_0 h1), line-height 55.2px measured. */
.smc-s-business-credit-0 .wp-block-column:first-child { text-align: right; }
.smc-s-business-credit-0 h1 { font-size: 46px; font-weight: 700; line-height: 1.2; }
/* BC1: specialty section: no row padding (live CSS .et_section_specialty>.et_pb_row{padding:0}); the left
   text sits in an inner row padded 5.82% (29.7px) top and bottom; its paragraph is 18px/27px (measured);
   the right column is padded 0 30px (live CSS .et_pb_column_3). Blurbs: an 80px icon image left of the
   text, no gap, text 18px at line-height 2em (#212529), 16px under the text, 40px between blurbs
   (live CSS .et_pb_blurb_N; measured). */
.smc-s-business-credit-1 > .wp-block-columns { padding-top: 0; padding-bottom: 0; }
/* Divi 1/2 columns are 47.25% wide including their padding (measured 510.3px both); flex shrinking
   would otherwise make the padded right column wider. */
@media (min-width: 981px) { .smc-s-business-credit-1 .wp-block-column { flex-basis: 47.25% !important; } }
.smc-s-business-credit-1 .wp-block-column:last-child { padding: 0 30px; }
.smc-s-business-credit-1 .smc-blurb { flex-direction: row; align-items: flex-start; gap: 0; margin: 0 0 40px; }
.smc-s-business-credit-1 .smc-blurb .wp-block-image { flex: 0 0 80px; margin: 0; }
.smc-s-business-credit-1 .smc-blurb img { display: block; width: 80px; max-height: none; }
.smc-s-business-credit-1 .smc-blurb p { font-size: 18px; line-height: 2em; margin: 0 0 16px; padding: 0; }
/* BC2: the two left blurbs sit in a card (live CSS .et_pb_row_inner_1: padding 5.82% 30px,
   box-shadow 0 30px 100px -40px rgba(0,0,0,.3), no background). CSS only: the column becomes a
   one-column grid (h2, p, blurb, blurb in rows 1-4, placed explicitly) and its ::after occupies the
   two blurbs' rows, carrying the shadow; margins inside grid areas reproduce the card's padding. */
.smc-s-business-credit-1 .wp-block-column:first-child { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; }
.smc-s-business-credit-1 .wp-block-column:first-child > h2 { grid-area: 1 / 1; margin-top: 5.82%; }
.smc-s-business-credit-1 .wp-block-column:first-child > p { grid-area: 2 / 1; font-size: 18px; line-height: 27px;
  margin-bottom: calc(16px + 5.82%); }
.smc-s-business-credit-1 .wp-block-column:first-child > .smc-blurb { margin: 0 30px 40px; }
.smc-s-business-credit-1 .wp-block-column:first-child > .smc-blurb:first-of-type { grid-area: 3 / 1; margin-top: 5.82%; }
.smc-s-business-credit-1 .wp-block-column:first-child > .smc-blurb:last-of-type { grid-area: 4 / 1; margin-bottom: calc(40px + 5.82%); }
.smc-s-business-credit-1 .wp-block-column:first-child::after { content: ""; grid-area: 3 / 1 / 5 / 2;
  box-shadow: 0 30px 100px -40px rgba(0, 0, 0, .3); pointer-events: none; }
/* <=980: inner rows are padded 30px (live CSS .et_pb_column .et_pb_row_inner{padding:30px 0}; measured). */
@media (max-width: 980px) {
  .smc-s-business-credit-1 .wp-block-column:first-child > h2 { margin-top: 30px; }
  .smc-s-business-credit-1 .wp-block-column:first-child > p { margin-bottom: 46px; }
  .smc-s-business-credit-1 .wp-block-column:first-child > .smc-blurb:first-of-type { margin-top: 30px; }
  .smc-s-business-credit-1 .wp-block-column:first-child > .smc-blurb:last-of-type { margin-bottom: 70px; }
}

/* ---------- tradeline-information ---------- */
/* TI1: the title section is inset (live CSS .et_pb_section_0{padding-top:5.4%;padding-bottom:0;
   margin-top:0.4%}, max-width 90% at >=981; measured x=72, 1296px wide at 1440); h1 5vw/900/1.4em,
   55px <=980, 35px <=767 (live CSS .et_pb_text_0 h1). */
.wp-block-group.alignfull.smc-s-tradeline-information-0 { margin: 0.4% auto 0; padding-top: 5.4%; }
@media (min-width: 981px) { .wp-block-group.alignfull.smc-s-tradeline-information-0 { max-width: 90%; } }
.smc-s-tradeline-information-0 h1 { font-size: 5vw; font-weight: 900; line-height: 1.4em; }
@media (max-width: 980px) { .smc-s-tradeline-information-0 h1 { font-size: 55px; } }
@media (max-width: 767px) { .smc-s-tradeline-information-0 h1 { font-size: 35px; } }
/* TI3: weight 600, line-height 1.2em (live CSS .et_pb_text_2 h1, .et_pb_text_3 h1). */
.smc-s-tradeline-information-3 h1, .smc-s-tradeline-information-4 h1 { font-weight: 600; line-height: 1.2em; }

/* ---------- signup ---------- */
/* SU2: cards #f9f9f9, padding 30px, shadow 0 2px 18px rgba(0,0,0,.3); the CEO card adds a blue top
   gradient (live CSS .et_pb_column_0, .et_pb_column_1). Columns keep their own heights (measured
   829px and 1004.6px). */
.smc-s-signup-0 .wp-block-column { align-self: flex-start; background-color: #f9f9f9; padding: 30px;
  box-shadow: 0 2px 18px 0 rgba(0, 0, 0, .3); }
.smc-s-signup-0 .wp-block-column:last-child { background-image: linear-gradient(360deg, rgba(43, 135, 218, 0) 75%, #0c71c3 100%); }
/* SU3: a 63px glyph in a 2px circle with 20px padding, centred (107px box), #0C71C3; white on the CEO
   card (live CSS .et_pb_icon_0/1); one module margin below (5.82%; measured 26.2px) plus the 7px by
   which the live icon module (114px, measured) is taller than its circle. */
.smc-s-signup-0 .smc-icon { width: fit-content; margin: 0 auto calc(5.82% + 7px); padding: 20px; border: 2px solid #0c71c3;
  border-radius: 50%; color: #0c71c3; }
.smc-s-signup-0 .smc-icon::before { width: 63px; height: 63px; }
.smc-s-signup-0 .wp-block-column:last-child .smc-icon { color: #ffffff; border-color: #ffffff; }
/* SU4: titles Playfair Display 700, centred (live CSS .et_pb_text_0 h2,.et_pb_text_1 h2), the price
   badge centred one module margin below. The CEO badge has 20% side padding (live CSS
   .et_pb_button_2{padding-left:20%;padding-right:20%}; measured 240.9px). */
.smc-s-signup-0 h2 { font-family: "Playfair Display", Georgia, "Times New Roman", serif; font-weight: 700;
  text-align: center; margin-bottom: 5.82%; }
.smc-s-signup-0 .wp-block-buttons { justify-content: center; margin-bottom: 5.82%; }
.smc-s-signup-0 .wp-block-column:last-child > h2 + .wp-block-buttons .wp-block-button { flex: 1 1 100%; text-align: center; }
.smc-s-signup-0 .wp-block-column:last-child > h2 + .wp-block-buttons .wp-block-button__link { width: auto; padding-left: 20%; padding-right: 20%; }
/* SU5: checklist rows: a 30px #0C71C3 disc with the check (check.svg's disc is 20/24 of its box, hence
   36px with -3px margins), text 32px in at 19px/1.5em, 16px under the text. Gold rows are 50.7px apart
   (live CSS .et_pb_blurb_1..7: margin-top -20px; module margin below); CEO rows touch (live CSS
   .et_pb_blurb_8..17: margin-bottom 0), except the last one (measured). */
.smc-s-signup-0 .smc-icon-check { flex-direction: row; align-items: flex-start; gap: 2px; margin: -20px 0 5.82%; }
.smc-s-signup-0 h2 + .wp-block-buttons + .smc-icon-check { margin-top: 0; }
.smc-s-signup-0 .wp-block-column:last-child > .smc-icon-check { margin-top: 0; margin-bottom: 0; }
.smc-s-signup-0 .wp-block-column:last-child > .smc-icon-check:nth-last-child(2) { margin-bottom: 5.82%; }
.smc-s-signup-0 .smc-icon-check::before { flex: 0 0 36px; width: 36px; height: 36px; margin: -3px; color: #0c71c3; }
.smc-s-signup-0 .smc-blurb p { font-size: 19px; line-height: 1.5em; margin: 0 0 16px; padding: 0; }
/* SU6: Enroll Now fills the card (live CSS .et_pb_button_1,.et_pb_button_3{width:100%}). */
.smc-s-signup-0 .wp-block-column > .wp-block-buttons:last-child { margin-bottom: 0; }
.smc-s-signup-0 .wp-block-column > .wp-block-buttons:last-child .wp-block-button { flex: 1 1 100%; }
.smc-s-signup-0 .wp-block-column > .wp-block-buttons:last-child .wp-block-button__link { display: block; text-align: center; }
@media (max-width: 980px) {
  .smc-s-signup-0 h2, .smc-s-signup-0 .wp-block-buttons { margin-bottom: 30px; }
  .smc-s-signup-0 .smc-icon { margin-bottom: 37px; }
  .smc-s-signup-0 .smc-icon-check { margin-bottom: 30px; }
  .smc-s-signup-0 .wp-block-column:last-child > .smc-icon-check:nth-last-child(2) { margin-bottom: 30px; }
}

/* ---------- contact-us ---------- */
/* CU4: the title section is inset (live CSS .et_pb_section_0{padding-top:5%;padding-bottom:5%;margin-top:5%},
   max-width 90% at >=981); h1 5vw/900/1.4em, 55px <=980, 35px <=767. Divider: V16. */
.wp-block-group.alignfull.smc-s-contact-us-0 { margin: 5% auto 0; padding-top: 5%; padding-bottom: 5%; }
@media (min-width: 981px) { .wp-block-group.alignfull.smc-s-contact-us-0 { max-width: 90%; } }
.smc-s-contact-us-0 h1 { font-size: 5vw; font-weight: 900; line-height: 1.4em; }
@media (max-width: 980px) { .smc-s-contact-us-0 h1 { font-size: 55px; } }
@media (max-width: 767px) { .smc-s-contact-us-0 h1 { font-size: 35px; } }
/* CU1: the ROW is blue with 40px padding (live CSS .et_pb_row_1), columns with a 3% gutter (measured
   313.3px); centred blurbs with a 32px white icon 5px above a 16px/700 white heading (line-height 1.4em)
   and 18px/27px white details (live CSS .et_pb_blurb_N; measured). */
.smc-s-contact-us-1 > .wp-block-columns { background-color: #0c71c3; padding: 40px; gap: 3%; }
.smc-s-contact-us-1 .smc-blurb { color: #ffffff; align-items: center; text-align: center; gap: 0; }
.smc-s-contact-us-1 [class*="smc-icon-"]::before { width: 32px; height: 32px; margin-bottom: 5px; }
.smc-s-contact-us-1 h6 { color: #ffffff; font-size: 16px; font-weight: 700; line-height: 1.4em; }
.smc-s-contact-us-1 p { font-size: 18px; line-height: 27px; }
@media (max-width: 980px) { .smc-s-contact-us-1 > .wp-block-columns { row-gap: 30px; } }
/* CU2: the section has a 5vw white border on the top, left and right, 5vw side padding and a 100px
   bottom margin; its row is full width with no padding or gutter; the text module is white, padded
   100px 5vw (30px <=980), h2 3vw/900/1.4em (35px <=980, 25px <=767), h4 24px/1.4em (live CSS
   .et_pb_section_2, .et_pb_row_2, .et_pb_text_1). */
.wp-block-group.alignfull.smc-s-contact-us-2 { border: 5vw solid #ffffff; border-bottom-width: 0; padding-left: 5vw;
  padding-right: 5vw; margin-bottom: 100px; }
.smc-s-contact-us-2 > .wp-block-columns { width: 100%; max-width: none; padding: 0; gap: 0; }
.smc-s-contact-us-2 .wp-block-column:first-child { background: #ffffff; padding: 100px 5vw; }
.smc-s-contact-us-2 h2 { font-size: 3vw; font-weight: 900; line-height: 1.4em; }
.smc-s-contact-us-2 h4 { font-size: 24px; line-height: 1.4em; }
@media (max-width: 980px) {
  .smc-s-contact-us-2 > .wp-block-columns { row-gap: 0; }
  .smc-s-contact-us-2 .wp-block-column:first-child { padding: 30px; }
  .smc-s-contact-us-2 h2 { font-size: 35px; }
}
@media (max-width: 767px) { .smc-s-contact-us-2 h2 { font-size: 25px; } }
/* CU3: the D9 line and button fill the former form column, padded like it (live CSS .et_pb_column_5
   {padding-top:60px;padding-right:5vw;padding-left:5vw}), in white. */
.smc-s-contact-us-2 .smc-reach { width: auto; max-width: none; margin: 0; padding: 60px 5vw 0; }
.smc-s-contact-us-2 .smc-reach p, .smc-s-contact-us-2 .smc-reach a { color: #ffffff; }

/* ---------- new pages (About Us, Privacy Policy) ---------- */
/* Divi's default section padding (54px at >=1350, 4% at >=981, 50px <=980; live CSS .et_pb_section),
   which the About draft's second section uses (no custom padding in source/draft-759.json). */
.smc-s-about-us-1 { padding: 4% 0; }
@media (min-width: 1350px) { .smc-s-about-us-1 { padding: 54px 0; } }
@media (max-width: 980px) { .smc-s-about-us-1 { padding: 50px 0; } }
/* Privacy Policy: no source design. It gets a Divi section and row's spacing and the site's 80% /
   1080px text width, so the text no longer touches the screen edges on phones. */
.smc-s-privacy-policy-0 { padding: 81px 0; }
@media (max-width: 980px) { .smc-s-privacy-policy-0 { padding: 80px 0; } }
.wp-block-group.smc-s-privacy-policy-0 > * { max-width: min(80%, 1080px); }
