/* Proposal B — Crediport Brandbook 2024, pages 7–18.
   A separate visual layer; approved proposal A remains untouched. */
:root {
  --ink: #0e1c1d;
  --muted: #625b5b;
  --coral: #ff5349;
  --coral-text: #b63730;
  --paper: #f7f0f0;
  --line: #d9d3d2;
  --soft: #ffcccc;
  --lilac: #bab9ff;
  --lily: #dddcfa;
  --lime: #cfe73d;
}
body {font-kerning:normal;font-feature-settings:"locl" 1,"kern" 1;letter-spacing:0}
h1,h2,h3,.eyebrow,.number-box input,.service h3,.step h3,.free-symbol,
.about-stats strong,.data-grid strong,.cta h2,.press-strip-label,.press-strip figcaption,.press-quotes figcaption {letter-spacing:0}
h1,h2,h3 {font-weight:700}
h2 {font-size:34px;line-height:1.24}
.eyebrow {font-size:11px;font-weight:600}
.button {min-height:50px;border-radius:25px;padding-inline:24px;font-weight:600}
.primary {color:var(--ink)}
.primary:hover {background:#ff7068;box-shadow:none}
.outline {border-color:var(--ink)}
.outline:hover {background:var(--paper)}
.utility {background:var(--paper);border-color:var(--line);color:var(--muted)}
.header {position:relative;z-index:3}
.header-inner {height:94px}
.brand img {width:164px;max-height:49px}
.header nav {font-size:12px;gap:24px}
.header-action {background:var(--ink);color:white;border:0;border-radius:23px;padding:12px 18px}
.header-action:hover {color:var(--ink);background:var(--lily)}
.hero {position:relative;isolation:isolate;overflow:hidden;background:var(--paper);border-color:var(--line)}
.hero::before {
  content:"";position:absolute;z-index:-1;pointer-events:none;
  width:620px;height:620px;border-radius:50%;background:var(--lily);
  right:max(-100px,calc((100vw - 1200px)/2 - 108px));top:28px;
}
.hero-grid {grid-template-columns:minmax(0,1fr) 447px;gap:54px;padding:56px 0}
.hero-content .eyebrow {margin-bottom:23px;gap:12px;letter-spacing:0}
.hero-content .eyebrow::before {width:8px;height:8px;margin-right:24px;box-shadow:12px 0 #a19898,24px 0 var(--ink)}
h1 {font-size:46px;line-height:1.2;font-weight:750;margin-bottom:24px}
h1 span {color:var(--ink);text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:5px;text-underline-offset:8px;text-decoration-skip-ink:none}
.hero-desc {font-size:15px;max-width:500px;line-height:1.85;color:var(--muted);margin-bottom:28px}
.hero-actions {gap:28px}
.hero-actions .button {min-width:220px}
.hero-proof {margin-top:29px;gap:13px}
.people img {border-color:var(--paper);background:var(--line)}
.hero-proof>div>strong {font-size:16px;font-weight:700}
.hero-proof>div>span {font-size:10px}
.hero-proof-divider {background:var(--line)}
.free-proof .icon {width:26px;height:26px;padding:5px;border-radius:50%;background:var(--lime);color:var(--ink)}
.free-proof span {color:var(--muted)!important}
.hero-press {max-width:520px;border-color:var(--line);padding-top:22px;margin-top:28px}
.hero-press-logos img {max-height:21px}
.offer {border:1px solid white;border-radius:24px;box-shadow:0 16px 40px -26px #0e1c1d42}
.offer-tabs {margin:12px 12px 0;padding:4px;gap:4px;border:0;border-radius:26px;background:var(--paper)}
.offer-tabs button {min-height:45px;font-size:13px;border-radius:23px;color:var(--muted)}
.offer-tabs button[aria-selected=true] {background:var(--ink);color:#fff}
.offer-tabs button[aria-selected=true]::after {display:none}
.credit-tabs {margin-top:25px;border-color:var(--line)}
.credit-tabs button {font-size:11px;padding-bottom:12px}
.credit-tabs button[aria-selected=true] {box-shadow:0 2px var(--coral)}
.consumer {padding:25px 28px 20px}
.range-group label {font-size:12px;color:var(--muted)}
.number-box {align-items:baseline;gap:8px}
.number-box input {width:130px;font-size:33px;font-weight:700}
.number-box #term {width:55px}
.range {height:5px;background:linear-gradient(to right,var(--coral) 0,var(--coral) var(--progress),var(--line) var(--progress),var(--line) 100%)}
.range::-webkit-slider-thumb {width:21px;height:21px;border:4px solid #fff;box-shadow:0 0 0 1px var(--coral)}
.range::-moz-range-thumb {box-shadow:0 0 0 1px var(--coral)}
.range-limits {color:var(--muted)}
.offer-submit {padding-inline:24px;border-radius:25px}
.offer-note {font-size:10px;gap:7px;color:var(--muted);margin-top:15px}
.offer-note .icon {color:var(--ink)}
.offer-license {background:var(--lily);border:0;font-size:10px;padding:15px 20px;color:var(--ink)}
.offer-license .icon {color:var(--ink)}
.product-row {padding-block:17px}
.product-row small {color:var(--muted)}
.press-strip {background:white}
.press-strip-inner {padding-block:30px}
.press-strip-label {font-size:10px;font-weight:600}
.press-strip figure {border-color:var(--coral);border-left-width:2px;padding-left:21px}
.press-strip blockquote {font-size:12px;color:var(--ink)}
.press-strip figcaption {color:var(--muted);font-size:9px;font-weight:500}
.partners-inner {min-height:110px}
.section {padding-block:80px}
.intro-grid {gap:70px}
.intro h2 {max-width:470px}
.intro p,.about-copy p {font-size:14px;color:var(--muted)}
.free-box {padding:30px;border:0;border-radius:24px;background:var(--paper);gap:24px;align-items:flex-start}
.free-symbol {display:inline-flex;align-items:center;justify-content:center;flex:0 0 96px;height:96px;border-radius:50%;background:var(--soft);color:var(--ink);font-weight:700;font-size:45px;line-height:1}
.free-symbol>span {font-size:22px;line-height:1;margin-left:2px}
.free-box h3 {font-size:18px;line-height:1.4}
.free-box p {color:var(--muted)}
.free-box a {font-weight:600;gap:6px}
.services {background:var(--paper);border-color:var(--line)}
.services-grid {gap:24px}
.service {border:0;border-radius:24px;padding:28px;background:#fff}
.service-head {margin-bottom:26px;align-items:center}
.service-icon {width:48px;height:48px;border-radius:50%;background:var(--soft);color:var(--ink)}
.service-1 .service-icon {background:var(--lily);color:var(--ink)}
.service-2 .service-icon {background:var(--lime);color:var(--ink)}
.service h3 {font-size:22px;font-weight:700;margin-bottom:22px}
.service-head>span:last-child {font-size:11px;color:var(--muted)}
.service-links a {padding-block:10px;border-color:var(--line);color:var(--muted)}
.service-links .icon {color:var(--ink)}
.service-cta {border:1px solid var(--line);background:white;padding-inline:17px;font-size:12px;min-height:46px;border-radius:24px}
.service-0 .service-cta {background:var(--soft);border-color:var(--soft)}
.service-1 .service-cta {background:var(--lily);border-color:var(--lily)}
.service-2 .service-cta {background:var(--paper);border-color:var(--paper)}
.service-cta:hover {background:var(--ink);color:white;border-color:var(--ink)}
.step-index {background:var(--lily);color:var(--ink);border:0;font-size:13px;font-weight:700;width:44px;height:44px}
.step:first-child .step-index {background:var(--soft);color:var(--ink);border:0}
.step:last-child .step-index {background:var(--lime)}
.step:not(:last-child)::after {top:32px;left:62px;background:var(--line)}
.step h3 {font-size:17px;font-weight:700}
.step p {color:var(--muted)}
.how-note .icon {color:var(--ink)}
.why {background:var(--paper)}
.reason {border-color:var(--line);gap:16px}
.reason>.icon {width:36px;height:36px;padding:8px;border-radius:50%;background:var(--soft);color:var(--ink)}
.reason h3 {font-size:17px;font-weight:700}
.reason p {color:var(--muted)}
.about-portrait {border-radius:24px;background:var(--paper)}
.portrait-caption {background:var(--ink)}
.portrait-caption>strong {font-weight:700}
.portrait-caption>span {color:var(--paper)}
.about-stats strong {font-weight:700;font-size:32px}
.clients {background:var(--paper)}
.client-video,.review {border-radius:24px}
.client-video>span {border-radius:16px;padding:5px 12px}
.review {border:0;padding:25px}
.quote-mark {color:var(--coral)}
.review blockquote {color:var(--muted)}
.initial {background:var(--lily);color:var(--ink)}
.carousel-controls button {border-color:var(--line);background:white;width:40px;height:40px}
.carousel-controls button:hover {background:var(--lily)}
.faq-item summary>span {color:var(--ink);background:var(--paper);border-radius:50%;width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center}
.faq-item[open] summary>span {background:var(--soft)}
.faq-item>div {color:var(--muted)}
.data {background:var(--ink);position:relative;overflow:hidden;isolation:isolate}
.data::after {content:"";width:260px;height:260px;position:absolute;border-radius:50%;top:-150px;right:-90px;background:var(--lily);z-index:-1}
.data .eyebrow {color:var(--soft)}
.data h2 {font-size:31px}
.data-desc {color:var(--line)}
.data-grid strong {font-weight:700;color:var(--lily)}
.data-grid>div:first-child strong {color:var(--soft)}
.data-grid>div,.data-source {border-color:#465151}
.data-grid span {color:var(--paper)}
.data-grid small,.data-source summary,.data-source p {color:var(--line)}
.press-quotes figure {border-color:var(--coral)}
.press-quotes figcaption {color:var(--muted);font-weight:500}
.contact {background:var(--lily);border:0}
.contact h2 {font-size:37px}
.contact p {color:var(--ink)}
.contact-methods a {border-color:#b0afd0}
.contact-methods strong {font-weight:600}
.contact-methods small {color:var(--muted)}
.contact-methods .icon {color:var(--ink)}
.cta {background:var(--ink);color:white;padding-block:42px;border:0}
.cta h2 {font-size:25px;line-height:1.35}
.cta p {color:var(--line)}
.site-footer {background:var(--paper)}
.footer-grid a,.footer-grid span,.footer-brand p,.footer-bottom {color:var(--muted)}
dialog {border-radius:24px}
dialog::backdrop {background:#0e1c1db3}
@media (max-width:1150px) {
  .header nav {gap:19px;font-size:11px}
  .hero-grid {grid-template-columns:minmax(0,1fr) 400px;gap:40px}
  h1 {font-size:37px}
  .hero-desc {font-size:14px}
  .hero-actions {gap:20px}
  .hero-actions .button {min-width:0}
  .hero::before {right:-140px;top:30px}
  .service {padding:24px}
  .service h3 {font-size:19px}
  .free-box {padding:24px;gap:18px}
  .free-symbol {flex-basis:76px;height:76px;font-size:36px}
  .intro-grid {gap:40px}
}
@media (min-width:701px) and (max-width:900px) {
  .header-inner {height:84px}
  .brand img {width:140px}
  .header nav {gap:15px;font-size:10px}
  .hero-grid {grid-template-columns:minmax(0,1fr) 335px;gap:30px;padding-block:46px}
  .hero-content .eyebrow {font-size:9px;gap:8px}
  .hero-content .eyebrow::before {width:6px;height:6px;margin-right:18px;box-shadow:9px 0 #a19898,18px 0 var(--ink)}
  h1 {font-size:32px}
  .hero-desc {font-size:13px}
  .hero-actions {gap:14px}
  .hero-actions .primary {padding-inline:14px;font-size:10px}
  .hero-proof {gap:9px}
  .hero-proof>div>span {font-size:9px}
  .hero::before {width:530px;height:530px;right:-170px;top:60px}
  .offer-tabs button {font-size:12px}
  .consumer {padding-inline:23px}
  .offer-note {font-size:9px}
  h2 {font-size:28px}
  .section {padding-block:60px}
  .free-box {flex-direction:column}
  .free-symbol {flex-basis:auto;width:76px}
  .service {padding:20px}
  .service h3 {font-size:17px}
  .service-head {gap:8px}
  .service-head>span:last-child {font-size:9px}
  .service-icon {width:40px;height:40px;flex-shrink:0}
  .service-links a,.service-cta {font-size:11px}
  .service-cta {padding-inline:12px}
  .reason {gap:12px}
  .reason h3 {font-size:15px}
  .contact h2 {font-size:31px}
}
@media (max-width:700px) {
  .header-inner {height:80px}
  .brand img {width:146px}
  .header nav {top:80px;font-size:14px}
  .mobile-toggle {border-radius:50%;width:42px;height:42px;border-color:var(--line)}
  .hero-grid {grid-template-columns:1fr;padding:38px 0 40px;gap:32px}
  .hero::before {width:530px;height:530px;right:-210px;top:auto;bottom:2px}
  .hero-content .eyebrow {font-size:9px;gap:10px;margin-bottom:24px}
  .hero-content .eyebrow::before {width:6px;height:6px;margin-right:18px;box-shadow:9px 0 #a19898,18px 0 var(--ink)}
  h1 {font-size:36px;line-height:1.23;font-weight:750;margin-bottom:27px}
  h1 span {text-decoration-thickness:4px;text-underline-offset:6px}
  h2 {font-size:28px}
  .hero-desc {font-size:14px;margin-bottom:25px}
  .hero-actions {gap:24px}
  .hero-actions .button {min-width:0;padding-inline:21px;font-size:12px;gap:16px}
  .hero-proof {gap:12px;margin-top:27px}
  .hero-proof>div>strong {font-size:14px}
  .hero-proof>div>span {font-size:9px}
  .hero-proof-divider {margin-inline:1px}
  .free-proof .icon {width:24px;height:24px}
  .hero-press {margin-top:25px;padding-top:18px;gap:12px;align-items:flex-start}
  .hero-press-logos {max-width:360px}
  .offer {border-radius:22px}
  .offer-tabs {margin:10px 10px 0}
  .offer-tabs button {font-size:12px;min-height:44px}
  .credit-tabs {gap:20px;margin:23px 24px 0}
  .credit-tabs button {font-size:10px}
  .consumer {padding:24px}
  .number-box input {font-size:32px}
  .offer-note {font-size:9px}
  .offer-license {padding:15px;font-size:9px}
  .press-strip-inner {padding-block:26px;gap:20px}
  .press-strip blockquote {font-size:13px}
  .press-strip figcaption {font-size:10px}
  .section {padding-block:50px}
  .intro-grid {gap:28px}
  .free-box {padding:25px;gap:19px}
  .free-symbol {flex-basis:72px;height:72px;font-size:34px}
  .free-symbol>span {font-size:18px}
  .free-box h3 {font-size:17px}
  .free-box p {font-size:12px}
  .service {padding:26px}
  .service h3 {font-size:23px}
  .service-head>span:last-child {font-size:11px}
  .service-cta {font-size:12px}
  .step-index {width:36px;height:36px;font-size:11px}
  .step:not(:last-child)::after {left:18px;top:48px;bottom:-15px}
  .reason h3 {font-size:17px}
  .reason>.icon {width:36px;height:36px}
  .about-portrait {border-radius:22px}
  .about-stats strong {font-size:29px}
  .clients h2 {font-size:25px}
  .carousel-controls button {width:34px;height:34px}
  .review {padding:24px}
  .data h2 {font-size:26px}
  .data::after {width:180px;height:180px;right:-130px;top:-110px}
  .data-grid strong {font-size:27px}
  .contact h2 {font-size:31px}
  .contact-methods strong {font-size:12px}
  .cta h2 {font-size:24px}
}
@media (max-width:370px) {
  h1 {font-size:31px}
  .hero-content .eyebrow {font-size:8px}
  .hero-actions {gap:17px}
  .hero-actions .button {font-size:10px;padding-inline:17px}
  .hero-proof {gap:8px}
  .hero-proof>div>span {font-size:8px}
  .free-proof {gap:4px}
  .free-proof .icon {width:20px;height:20px;padding:4px}
  .credit-tabs {gap:16px;margin-inline:20px}
  .credit-tabs button {font-size:9px}
  .consumer {padding-inline:20px}
  .offer-tabs button {font-size:11px}
  .offer-note {font-size:8px}
  .free-box {padding:22px;gap:15px}
  .free-symbol {flex-basis:56px;height:56px;font-size:28px}
  .free-symbol>span {font-size:16px}
  .service {padding:24px}
  .service h3 {font-size:21px}
  .data-grid strong {font-size:25px}
}
/* Keep both hero actions on one line on narrow phones. */
.hero-actions .primary,.how-link {white-space:nowrap;flex-shrink:0}
@media (max-width:370px) {
  .hero-actions {gap:14px}
  .hero-actions .primary {gap:10px;padding-inline:16px;min-height:48px}
  .hero-actions .primary .icon {width:16px;height:16px}
  .how-link {gap:6px;font-size:10px}
}
