/* Roland Recovery V3.6 frontend refinement */

:root {
  --rr-red: #db504a;
  --rr-red-dark: #bd3f3a;
  --rr-red-soft: #fff0ee;
  --rr-ink: #111820;
  --rr-text: #202a34;
  --rr-muted: #65727e;
  --rr-line: #ddd9d2;
  --rr-paper: #f5f2ed;
  --rr-white: #ffffff;
  --rr-shadow: 0 22px 58px rgba(17, 24, 32, 0.10);
}

html { font-size: 16px; }
body {
  font-size: 16px;
  color: var(--rr-text);
  letter-spacing: -0.008em;
}

/* Use the official Font Awesome webfont exactly as intended. */
.fa-solid,
.fas {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: auto !important;
  line-height: 1 !important;
}
.fa-regular,
.far {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: auto !important;
  line-height: 1 !important;
}
.fa-brands,
.fab {
  font-family: "Font Awesome 6 Brands" !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: auto !important;
  line-height: 1 !important;
}

/* Never allow feature icons to inherit oversized text dimensions. */
.hero-points i,
.quick-list i,
.trustbar i,
.feature-icon i,
.step i,
.floating-badge i,
.result-label i,
.result .button i {
  display: inline-block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: inherit !important;
  transform: none !important;
  vertical-align: middle !important;
}

/* Header and navigation */
.site-header {
  transition: background .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.site-header.is-scrolled {
  background: rgba(249, 248, 245, .96) !important;
  box-shadow: 0 10px 32px rgba(17, 24, 32, .08);
  border-color: rgba(17, 24, 32, .08);
}
.header__inner { min-height: 76px; }
.desktop-nav a {
  font-size: .875rem;
  letter-spacing: -.01em;
}
.button { font-size: .875rem; }

/* Page rhythm and typography */
.section { padding: 72px 0; }
.section-head { margin-bottom: 28px; }
.section-head h2,
.split-copy h2,
.cta-box h2 {
  font-size: clamp(2.25rem, 4.6vw, 3.55rem);
  line-height: 1.02;
}
.section-head > p,
.split-copy p,
.page-hero p,
.article p,
.article li,
.legal-content p,
.legal-content li {
  font-size: .975rem;
}

/* Homepage hero */
.hero { padding: 30px 0 22px; }
.hero-grid { gap: 18px; }
.hero-main {
  min-height: 580px;
  padding: clamp(40px, 4.5vw, 62px);
  background:
    radial-gradient(circle at var(--pointer-x, 84%) var(--pointer-y, 12%), rgba(219,80,74,.35), transparent 27rem),
    radial-gradient(circle at 10% 90%, rgba(255,255,255,.045), transparent 20rem),
    linear-gradient(140deg, #0b1219 0%, #18222c 55%, #222e39 100%) !important;
}
.hero h1 {
  max-width: 760px;
  font-size: clamp(3.55rem, 6vw, 5.2rem);
  line-height: .95;
  letter-spacing: -.065em;
}
.hero-main > p {
  max-width: 670px;
  font-size: 1.08rem;
  line-height: 1.65;
}
.hero-actions { margin-top: 26px; }
.hero-points {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
  margin-top: 30px;
}
.hero-points > div {
  position: relative;
  min-height: 112px;
  padding: 20px 16px 17px;
  border-radius: 17px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
}
.hero-points i {
  position: absolute !important;
  top: 17px !important;
  left: 16px !important;
  width: 36px !important;
  height: 36px !important;
  display: inline-grid !important;
  place-items: center;
  border-radius: 11px;
  color: #fff !important;
  background: linear-gradient(135deg, var(--rr-red), #ed706a) !important;
  box-shadow: 0 10px 24px rgba(219,80,74,.23) !important;
  font-size: .95rem !important;
}
.hero-points strong { font-size: 1rem; }
.hero-points span { font-size: .72rem; }

.quick-card { padding: 28px; }
.quick-card h2 {
  font-size: clamp(1.65rem, 2.4vw, 2.15rem);
  line-height: 1.08;
}
.quick-card p { font-size: .9rem; }
.quick-list { gap: 9px; }
.quick-list > div {
  min-height: 52px;
  padding: 9px 11px;
  grid-template-columns: 38px 1fr;
}
.quick-list span {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border-radius: 12px;
}
.quick-list i { font-size: .95rem !important; color: var(--rr-red) !important; }
.quick-list strong { font-size: .82rem; }

/* Trust strip */
.trustbar { padding: 14px 0 8px; }
.trustbar__grid { border-radius: 18px; overflow: hidden; }
.trustbar__grid span {
  min-height: 76px;
  padding: 15px 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  font-size: .78rem;
  line-height: 1.4;
  text-align: left;
}
.trustbar__grid i {
  flex: 0 0 34px;
  width: 34px !important;
  height: 34px !important;
  display: inline-grid !important;
  place-items: center;
  border-radius: 11px;
  color: var(--rr-red) !important;
  background: var(--rr-red-soft) !important;
  font-size: .9rem !important;
}

/* Service / feature cards */
.card-grid { gap: 15px; }
.info-card {
  min-height: 235px;
  padding: 23px;
}
.info-card__number {
  width: 36px;
  height: 36px;
  margin-bottom: 10px;
}
.feature-icon {
  width: 50px;
  height: 50px;
  margin-bottom: 16px;
  display: inline-grid;
  place-items: center;
  border-radius: 15px;
}
.feature-icon i { font-size: 1.1rem !important; color: var(--rr-red) !important; }
.info-card--accent .feature-icon i { color: #fff !important; }
.info-card h3 { font-size: 1.22rem; }
.info-card p { font-size: .87rem; line-height: 1.65; }

/* How it works */
.steps { gap: 13px; }
.step {
  min-height: 220px;
  padding: 22px;
}
.step > span {
  width: 46px;
  height: 46px;
  display: inline-grid;
  place-items: center;
  margin-bottom: 34px;
}
.step i { font-size: 1.05rem !important; color: #fff !important; }
.step h3 { font-size: 1.2rem; }
.step p { font-size: .8rem; line-height: 1.65; }

/* Map visual */
.split-copy,
.split-visual { min-height: 420px; }
.floating-badge i {
  width: 27px !important;
  height: 27px !important;
  display: inline-grid !important;
  place-items: center;
  border-radius: 50%;
  color: var(--rr-red) !important;
  background: var(--rr-red-soft) !important;
  font-size: .8rem !important;
}

/* Quote page overall */
.quote-page { padding: 36px 0 84px; }
.quote-shell { gap: 20px; }
.quote-panel { padding: 28px; }
.quote-progress span { font-size: .68rem; }
.quote-step h2 {
  font-size: clamp(2rem, 4vw, 2.65rem);
  line-height: 1.05;
}
.quote-step > .intro {
  font-size: .96rem;
  line-height: 1.65;
}
.type-choice strong { font-size: .94rem; }
.type-choice small { font-size: .72rem; }
.field label { font-size: .82rem; }
.field input,
.field select,
.field textarea {
  min-height: 55px;
  font-size: .95rem;
}
.field-help { font-size: .72rem; }
.summary-mini { font-size: .85rem; }
.summary-mini strong { font-size: .92rem; }
.sidebar-card h3 { font-size: 1.45rem; }
.sidebar-card p { font-size: .83rem; }
.sidebar-list div { font-size: .76rem; }

/* Final quote screen: force the approved light design regardless of old cache rules. */
.quote-shell:has(.quote-step[data-step="3"].is-active) {
  max-width: 1020px;
  margin-inline: auto;
  grid-template-columns: minmax(0, 1fr) !important;
}
.quote-shell:has(.quote-step[data-step="3"].is-active) .quote-sidebar {
  display: none !important;
}
.quote-step[data-step="3"] .result {
  position: relative;
  overflow: hidden;
  padding: clamp(30px, 5vw, 50px) !important;
  border: 1px solid var(--rr-line) !important;
  border-radius: 26px !important;
  color: var(--rr-text) !important;
  background:
    radial-gradient(circle at 88% 0%, rgba(219,80,74,.10), transparent 20rem),
    linear-gradient(180deg, #ffffff 0%, #fbf9f6 100%) !important;
  box-shadow: var(--rr-shadow) !important;
  text-align: center !important;
}
.quote-step[data-step="3"] .result::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--rr-red), #ee7771);
  opacity: 1 !important;
}
.quote-step[data-step="3"] .result-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #66727d !important;
  font-size: .78rem !important;
  font-weight: 800;
  letter-spacing: .10em;
}
.quote-step[data-step="3"] .result-label i {
  color: var(--rr-red) !important;
  font-size: .85rem !important;
}
.quote-step[data-step="3"] .result-price {
  margin: 18px 0 12px !important;
  color: var(--rr-red) !important;
  font-size: clamp(4.2rem, 9vw, 6.4rem) !important;
  line-height: .95 !important;
  letter-spacing: -.075em !important;
  text-shadow: none !important;
}
.quote-step[data-step="3"] .result-copy {
  max-width: 650px;
  margin: 0 auto 28px !important;
  color: #586672 !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}
.quote-step[data-step="3"] .result-details {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 11px !important;
  padding: 14px !important;
  margin: 24px 0 18px !important;
  border: 1px solid #e0ddd7 !important;
  border-radius: 18px !important;
  background: #f6f3ee !important;
}
.quote-step[data-step="3"] .result-details > div {
  min-height: 82px !important;
  padding: 15px 16px !important;
  border: 1px solid #e5e1db !important;
  border-radius: 14px !important;
  color: var(--rr-text) !important;
  background: #fff !important;
  box-shadow: 0 5px 15px rgba(17,24,32,.035);
  text-align: left !important;
}
.quote-step[data-step="3"] .result-details span {
  color: #7b8791 !important;
  font-size: .68rem !important;
  letter-spacing: .07em;
}
.quote-step[data-step="3"] .result-details strong {
  color: var(--rr-ink) !important;
  font-size: .93rem !important;
  line-height: 1.45 !important;
}
.quote-step[data-step="3"] .result-notice {
  padding: 14px 16px !important;
  border: 1px solid #cfe7da !important;
  color: #155e3c !important;
  background: #eaf6ef !important;
  font-size: .82rem !important;
  line-height: 1.5;
  text-align: center !important;
}
.quote-step[data-step="3"] .result-notice.is-demo {
  border-color: #efddaf !important;
  color: #785200 !important;
  background: #fff3d9 !important;
}
.quote-step[data-step="3"] .quote-actions {
  justify-content: center !important;
  gap: 11px;
  margin: 20px 0 17px !important;
}
.quote-step[data-step="3"] .button {
  min-height: 52px;
  font-size: .92rem;
}
.quote-step[data-step="3"] .button i {
  margin-right: 8px !important;
  font-size: .9rem !important;
}
.quote-step[data-step="3"] .button--quiet {
  color: var(--rr-ink) !important;
  border-color: var(--rr-line) !important;
  background: #fff !important;
}
.quote-step[data-step="3"] .button--dark {
  color: #fff !important;
  background: var(--rr-ink) !important;
}
.quote-step[data-step="3"] .result small {
  display: block;
  max-width: 800px;
  margin: 0 auto;
  color: #7a8690 !important;
  font-size: .72rem !important;
  line-height: 1.6;
  text-align: center !important;
}

/* Content cards and article readability */
.blog-card h2,
.blog-card h3 { font-size: 1.25rem; }
.blog-card p { font-size: .84rem; }
.article { padding: 40px; }
.article h2 { font-size: 1.85rem; }
.legal-content h2 { font-size: 1.65rem; }
.contact-card h2,
.contact-form h2 { font-size: clamp(2rem, 4vw, 2.55rem); }
.contact-method strong { font-size: 1.08rem; }

/* Motion */
.reveal {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition:
    opacity .72s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms),
    transform .72s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms);
}
.reveal.is-visible {
  opacity: 1;
  transform: translate3d(0,0,0);
}
.info-card,
.step,
.blog-card,
.quick-card,
.sidebar-card,
.contact-card,
.contact-form {
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.info-card:hover,
.step:hover,
.blog-card:hover,
.quick-card:hover,
.sidebar-card:hover,
.contact-card:hover,
.contact-form:hover {
  transform: translateY(-4px);
}

@media (max-width: 1050px) {
  .hero-main { min-height: 520px; }
  .hero h1 { font-size: clamp(3.15rem, 8vw, 4.7rem); }
}

@media (max-width: 760px) {
  html { font-size: 15px; }
  .section { padding: 58px 0; }
  .hero-main { min-height: auto; padding: 34px 22px; }
  .hero h1 { font-size: clamp(2.75rem, 13vw, 4rem); }
  .hero-points { grid-template-columns: 1fr; }
  .hero-points > div { min-height: 84px; padding-left: 62px; justify-content: center; }
  .hero-points i { top: 50% !important; transform: translateY(-50%) !important; }
  .trustbar__grid { grid-template-columns: 1fr 1fr; }
  .trustbar__grid span { justify-content: flex-start; min-height: 68px; }
  .quote-panel { padding: 20px 15px; }
  .quote-step[data-step="3"] .result { padding: 28px 17px !important; }
  .quote-step[data-step="3"] .result-price { font-size: clamp(3.7rem, 17vw, 5.2rem) !important; }
  .quote-step[data-step="3"] .result-details { grid-template-columns: 1fr !important; padding: 10px !important; }
  .quote-step[data-step="3"] .quote-actions { flex-direction: column; }
  .quote-step[data-step="3"] .quote-actions .button { width: 100%; }
  .article { padding: 26px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .reveal { opacity: 1 !important; transform: none !important; }
}


/* === V3.7 conversion-focused homepage === */
.hero--focused{
  padding:34px 0 18px;
}

.hero-focus-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(350px,.62fr);
  gap:20px;
  align-items:stretch;
}

.hero-focus-main{
  min-height:570px;
  padding:clamp(38px,5.2vw,72px);
  position:relative;
  overflow:hidden;
  border-radius:34px;
  color:#fff;
  background:
    radial-gradient(circle at 82% 16%, rgba(219,80,74,.38), transparent 25rem),
    linear-gradient(145deg,#0b1117 0%,#17212b 56%,#202c37 100%);
  box-shadow:0 32px 90px rgba(14,20,27,.16);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.hero-focus-main::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.28;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom right,#000 20%,transparent 100%);
}

.hero-focus-main::after{
  content:"";
  position:absolute;
  right:-170px;
  bottom:-210px;
  width:520px;
  height:520px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:50%;
  box-shadow:0 0 0 74px rgba(255,255,255,.028),0 0 0 148px rgba(255,255,255,.014);
}

.hero-focus-main > *{
  position:relative;
  z-index:1;
}

.hero-focus-main .eyebrow{
  color:#ffc7c3;
}

.hero-focus-main h1{
  max-width:800px;
  margin:22px 0 18px;
  font-size:clamp(52px,6.8vw,88px);
  line-height:.93;
  letter-spacing:-.072em;
}

.hero-focus-lead{
  max-width:650px;
  margin:0;
  color:#c6d0d8;
  font-size:clamp(17px,1.55vw,21px);
  line-height:1.62;
}

.hero-focus-actions{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  margin-top:30px;
}

.hero-focus-actions .button{
  min-width:190px;
}

.mini-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:34px;
}

.mini-trust-row span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:#d7dee5;
  background:rgba(255,255,255,.05);
  font-size:12px;
  font-weight:800;
}

.mini-trust-row i{
  color:#ffb1ad;
}

.quote-start-panel{
  padding:30px;
  border:1px solid rgba(14,20,27,.08);
  border-radius:30px;
  background:rgba(255,255,255,.92);
  box-shadow:0 24px 70px rgba(14,20,27,.12);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.quote-start-panel h2{
  margin:12px 0 8px;
  font-size:clamp(30px,3vw,42px);
  line-height:1.02;
  letter-spacing:-.05em;
}

.quote-start-panel p{
  margin:0 0 20px;
  color:#687481;
  font-size:15px;
  line-height:1.65;
}

.quote-start-options{
  display:grid;
  gap:10px;
  margin-bottom:20px;
}

.quote-start-option{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:12px;
  align-items:center;
  padding:13px;
  border:1px solid rgba(14,20,27,.07);
  border-radius:16px;
  background:#fbfaf8;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

.quote-start-option:hover{
  transform:translateY(-2px);
  border-color:rgba(219,80,74,.28);
  background:#fff;
  box-shadow:0 14px 34px rgba(14,20,27,.09);
}

.quote-start-option i{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  color:#db504a;
  background:#fff0ee;
  font-size:18px;
}

.quote-start-option strong,
.quote-start-option small{
  display:block;
}

.quote-start-option strong{
  color:#18212b;
  font-size:15px;
}

.quote-start-option small{
  margin-top:2px;
  color:#7b8792;
  font-size:12px;
}

.trustbar--focused{
  padding:16px 0 38px;
}

.trustbar--focused .trustbar__grid{
  border-radius:18px;
  background:rgba(255,255,255,.8);
}

.trustbar--focused .trustbar__grid span{
  padding:17px 14px;
  text-align:left;
}

.service-compact-grid{
  display:grid;
  grid-template-columns:1.05fr 1fr 1fr;
  gap:15px;
}

.service-compact-card{
  padding:24px;
  min-height:250px;
  border:1px solid rgba(14,20,27,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 40px rgba(14,20,27,.07);
  transition:transform .22s ease, box-shadow .22s ease;
}

.service-compact-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 55px rgba(14,20,27,.12);
}

.service-compact-card--accent{
  color:#fff;
  background:
    radial-gradient(circle at 100% 100%,rgba(255,255,255,.16),transparent 14rem),
    linear-gradient(145deg,#db504a,#c8403a);
  border-color:transparent;
  box-shadow:0 22px 54px rgba(219,80,74,.24);
}

.service-compact-head{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:14px;
}

.service-compact-head i{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#db504a;
  background:#fff0ee;
  font-size:18px;
}

.service-compact-card--accent .service-compact-head i{
  color:#fff;
  background:rgba(255,255,255,.18);
}

.service-compact-card h3{
  margin:0;
  font-size:21px;
  line-height:1.18;
  letter-spacing:-.03em;
}

.service-compact-card p{
  margin:0 0 14px;
  color:#63707c;
  font-size:14px;
  line-height:1.62;
}

.service-compact-card--accent p{
  color:rgba(255,255,255,.84);
}

.service-compact-card ul{
  display:grid;
  gap:7px;
  margin:0 0 16px;
  padding:0;
  list-style:none;
}

.service-compact-card li{
  position:relative;
  padding-left:22px;
  color:#4d5964;
  font-size:13px;
  font-weight:700;
}

.service-compact-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#db504a;
}

.service-compact-card--accent li{
  color:rgba(255,255,255,.92);
}

.service-compact-card--accent li::before{
  color:#fff;
}

.service-compact-card a{
  display:inline-flex;
  margin-top:auto;
  color:inherit;
  font-weight:800;
}

.quote-strip{
  padding:10px 0 70px;
}

.quote-strip__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:26px 30px;
  border-radius:24px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 0%,rgba(255,255,255,.16),transparent 16rem),
    linear-gradient(135deg,#111821,#202b36);
  box-shadow:0 22px 58px rgba(14,20,27,.13);
}

.quote-strip h2{
  margin:8px 0 0;
  font-size:clamp(24px,3vw,38px);
  line-height:1.08;
  letter-spacing:-.045em;
}

.quote-strip .kicker{
  color:#ffd1ce;
  background:rgba(255,255,255,.08);
}

@media(max-width:1060px){
  .hero-focus-grid{
    grid-template-columns:1fr;
  }
  .hero-focus-main{
    min-height:520px;
  }
  .quote-start-panel{
    max-width:none;
  }
  .service-compact-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .hero--focused{
    padding-top:16px;
  }
  .hero-focus-main{
    min-height:auto;
    padding:35px 24px;
    border-radius:24px;
  }
  .hero-focus-main h1{
    font-size:clamp(44px,13vw,62px);
  }
  .hero-focus-lead{
    font-size:16px;
  }
  .hero-focus-actions .button{
    width:100%;
  }
  .mini-trust-row{
    flex-direction:column;
  }
  .quote-start-panel{
    padding:23px;
    border-radius:24px;
  }
  .trustbar--focused{
    padding-bottom:28px;
  }
  .service-compact-card{
    min-height:auto;
  }
  .quote-strip{
    padding-bottom:52px;
  }
  .quote-strip__inner{
    flex-direction:column;
    align-items:flex-start;
    padding:24px;
  }
  .quote-strip__inner .button{
    width:100%;
  }
}


/* === V3.8 frontend corrections === */

/* Header spacing after removing Coverage */
.desktop-nav{gap:22px}
.header__inner{min-height:72px}
.brand__full{width:178px}

/* Homepage: better balance and spacing */
.hero-focus-grid{
  grid-template-columns:minmax(0,1fr) 410px;
  max-width:1180px;
}
.hero-focus-main{
  min-height:500px;
  padding:56px 56px 46px;
}
.hero-focus-main h1{
  max-width:720px;
  font-size:clamp(54px,6.05vw,80px);
}
.hero-focus-lead{
  max-width:610px;
}
.quote-start-panel{
  min-height:500px;
  padding:34px 30px;
}
.quote-start-panel h2{
  font-size:clamp(32px,3.2vw,46px);
}
.quote-start-options{
  gap:12px;
}
.quote-start-option{
  padding:15px;
}
.trustbar--focused{
  padding-bottom:28px;
}
.trustbar--focused .trustbar__grid{
  grid-template-columns:repeat(4,1fr);
}
.trustbar--focused .trustbar__grid span{
  justify-content:center;
  gap:12px;
  font-size:13px;
}
.trustbar--focused .trustbar__grid i{
  width:34px;
  height:34px;
  font-size:14px;
  border-radius:12px;
}

/* Quote strip spacing */
.quote-strip{
  padding:0 0 52px;
}
.quote-strip__inner{
  padding:28px 34px;
}
.quote-strip h2{
  font-size:clamp(26px,3vw,38px);
}

/* Map visual uses accepted map direction */
.map-visual{
  min-height:410px;
  background:#0c141c!important;
}
.map-illustration{
  object-fit:cover;
  object-position:62% 42%;
  opacity:1;
}
.map-visual::before,
.map-visual::after{
  display:none!important;
}
.floating-badge{
  font-size:12px;
}
.floating-badge--one{left:28px;top:26px}
.floating-badge--two{right:28px;top:26px}

/* Services cards: reduce empty space */
.service-compact-grid.services-page-grid,
.services-page-grid{
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.services-page-grid .info-card{
  min-height:205px;
  padding:22px;
}
.services-page-grid .info-card__number{
  display:none;
}
.services-page-grid .feature-icon{
  margin-bottom:14px;
}
.services-page-grid .info-card h3{
  font-size:20px;
}
.services-page-grid .info-card p{
  font-size:14px;
  line-height:1.6;
}

/* About standards: more useful, less empty */
.standard-card{
  min-height:245px;
  padding:24px;
  border:1px solid rgba(14,20,27,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 40px rgba(14,20,27,.07);
  display:grid;
  grid-template-columns:56px 1fr;
  gap:18px;
  align-items:start;
  transition:transform .22s ease,box-shadow .22s ease;
}
.standard-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 55px rgba(14,20,27,.12);
}
.standard-card__icon{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:17px;
  color:#db504a;
  background:#fff0ee;
  font-size:20px;
}
.standard-card h3{
  margin:3px 0 8px;
  font-size:22px;
  line-height:1.15;
  letter-spacing:-.03em;
}
.standard-card p{
  margin:0 0 12px;
  color:#66727e;
  font-size:15px;
  line-height:1.55;
}
.standard-card ul{
  display:grid;
  gap:6px;
  margin:0;
  padding:0;
  list-style:none;
}
.standard-card li{
  position:relative;
  padding-left:20px;
  color:#43505c;
  font-size:13px;
  font-weight:700;
}
.standard-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#db504a;
}

/* Quote page: form should be visible higher */
.quote-page{
  padding-top:18px;
}
.quote-shell{
  align-items:start;
}
.quote-panel{
  margin-top:-6px;
}
.quote-step h2{
  font-size:clamp(34px,3.6vw,46px);
}
.quote-step>.intro{
  font-size:16px;
}
.field label{
  font-size:14px;
}
.field input,
.field select,
.field textarea{
  font-size:16px;
  min-height:58px;
}
.field-help{
  font-size:12px;
}
.type-choice strong{
  font-size:16px;
}
.type-choice small{
  font-size:12px;
}
.quote-sidebar .sidebar-card h3{
  font-size:26px;
}
.quote-sidebar .sidebar-card p{
  font-size:15px;
}
.sidebar-list div{
  font-size:14px;
}

/* Final quote result readable light style remains */
.result{
  background:#fff!important;
  color:#18212b!important;
  box-shadow:0 22px 58px rgba(14,20,27,.12)!important;
}
.result::before{display:none!important}
.result-label{color:#5e6a76!important}
.result-price{color:#db504a!important;text-shadow:none!important}
.result-copy{color:#55626f!important;font-size:16px!important}
.result-details div{
  background:#fbfaf8!important;
  border-color:#dedad3!important;
}
.result-details span{color:#7b8792!important}
.result-details strong{color:#111821!important;font-size:14px!important}
.result-notice{font-size:13px!important}
.result .button--quiet{
  color:#18212b!important;
  background:#fff!important;
  border-color:#d9d5cf!important;
}
.result .button--dark{
  color:#fff!important;
  background:#111821!important;
}

/* Remove coverage page from public prominence */

@media(max-width:1060px){
  .hero-focus-grid{
    grid-template-columns:1fr;
  }
  .quote-start-panel,
  .hero-focus-main{
    min-height:auto;
  }
  .services-page-grid,
  .service-compact-grid.services-page-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:760px){
  .hero-focus-main{
    padding:36px 24px;
  }
  .hero-focus-main h1{
    font-size:clamp(44px,13vw,62px);
  }
  .quote-start-panel{
    padding:24px;
  }
  .trustbar--focused .trustbar__grid{
    grid-template-columns:1fr;
  }
  .services-page-grid,
  .service-compact-grid.services-page-grid{
    grid-template-columns:1fr;
  }
  .standard-card{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .map-visual{
    min-height:340px;
  }
  .quote-page{
    padding-top:10px;
  }
}


/* === V3.9 customer-facing cleanup === */

/* Quote step collection cards: replace letter blocks with useful icons via CSS */
.type-choice span::before{
  font-family:"Font Awesome 6 Free"!important;
  font-weight:900!important;
  font-size:18px!important;
  letter-spacing:0!important;
}
.type-choice:nth-child(1) span::before{content:"\f0e3"!important;} /* auction gavel */
.type-choice:nth-child(2) span::before{content:"\f494"!important;} /* dealer / warehouse */
.type-choice:nth-child(3) span::before{content:"\f084"!important;} /* private key */

/* Make quote result currency impossible to miss */
.result-price{
  font-variant-numeric:tabular-nums;
  letter-spacing:-.055em!important;
}
.result-price::before{
  content:"";
}
#result-price{
  white-space:nowrap;
}

/* Remove customer-facing weight explanation if browser has old HTML cached */
.sidebar-card--light .kicker:has(+ h3),
.quote-help-card{
  font-size:inherit;
}

/* Improve quote sidebar helper */
.quote-help-card h3{
  font-size:24px!important;
  line-height:1.15!important;
}
.quote-help-card p{
  font-size:15px!important;
  line-height:1.65!important;
}

/* Footer redesign */
.site-footer{
  padding:58px 0 34px!important;
  background:
    radial-gradient(circle at 10% 10%,rgba(219,80,74,.12),transparent 22rem),
    linear-gradient(145deg,#070c11,#0e151d)!important;
}
.footer-grid{
  grid-template-columns:1.25fr 0.8fr 0.95fr 0.8fr!important;
  gap:44px!important;
  align-items:start;
}
.footer-logo{
  width:205px!important;
  margin-bottom:18px;
  opacity:1!important;
}
.footer-grid p{
  max-width:390px!important;
  margin:0 0 18px!important;
  color:#aeb8c1!important;
  font-size:15px!important;
  line-height:1.75!important;
}
.footer-grid h3{
  margin:0 0 18px!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1.1!important;
  letter-spacing:-.02em;
}
.footer-grid a,
.footer-grid span,
.footer-cookie-button{
  margin:12px 0!important;
  color:#bac3cb!important;
  font-size:14px!important;
  line-height:1.35!important;
  transition:color .2s ease, transform .2s ease;
}
.footer-grid a:hover,
.footer-cookie-button:hover{
  color:#fff!important;
  transform:translateX(2px);
}
.footer-grid a::before,
.footer-grid span::before{
  width:22px;
  min-width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:rgba(219,80,74,.12);
  font-size:11px;
}
.footer-bottom{
  margin-top:42px!important;
  padding-top:22px!important;
  color:#7f8992!important;
  font-size:12px!important;
}
.footer-bottom span{
  margin:0!important;
}

/* Tighter footer on mobile */
@media(max-width:760px){
  .footer-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .footer-grid p{
    font-size:14px!important;
  }
  .footer-grid a,
  .footer-grid span,
  .footer-cookie-button{
    font-size:14px!important;
  }
  .footer-bottom{
    font-size:11px!important;
  }
}

/* Slightly better quote typography */
.result-label{
  font-size:14px!important;
  letter-spacing:.09em!important;
}
.result-copy{
  max-width:680px!important;
}
.quote-step h2{
  letter-spacing:-.055em!important;
}
.article-hero-image .container{max-width:1040px}
.article-hero-image img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;box-shadow:0 22px 60px rgba(14,20,27,.14)}
.blog-card__visual img{width:100%;height:100%;object-fit:cover}
.prev-next{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}


/* =========================================================
   Mobile footer redesign
   ========================================================= */

@media (max-width: 760px) {
  .site-footer {
    padding: 28px 0 104px !important;
    background:
      radial-gradient(circle at 0 0, rgba(219, 80, 74, .14), transparent 18rem),
      linear-gradient(155deg, #080d12, #101821) !important;
  }

  .site-footer .container {
    width: min(100% - 32px, 620px);
  }

  .site-footer .footer-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 28px 20px !important;
  }

  /* Brand block */
  .site-footer .footer-grid > div:first-child {
    grid-column: 1 / -1;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
  }

  .site-footer .footer-logo {
    width: 176px !important;
    margin: 0 0 17px !important;
    padding: 9px 12px;
    border-radius: 13px;
    background: #fff;
    filter: none !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .18);
  }

  .site-footer .footer-grid p {
    max-width: 390px !important;
    margin: 0 0 14px !important;
    color: #b5bec6 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  .site-footer .footer-grid > div:first-child > span {
    width: fit-content;
    margin: 0 !important;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 999px;
    color: #d0d6db !important;
    background: rgba(255, 255, 255, .045);
    font-size: 12px !important;
  }

  /* Section headings */
  .site-footer .footer-grid h3 {
    margin: 0 0 13px !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
  }

  /* Compact navigation rows */
  .site-footer .footer-grid a,
  .site-footer .footer-cookie-button {
    min-height: 34px;
    margin: 3px 0 !important;
    padding: 5px 0;
    color: #b8c1c9 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere;
  }

  .site-footer .footer-grid a::before,
  .site-footer .footer-grid span::before {
    width: 20px;
    min-width: 20px;
    height: 20px;
    border-radius: 7px;
    font-size: 10px;
  }

  /* Legal links use the full width and wrap horizontally */
  .site-footer .footer-grid > div:nth-child(4) {
    grid-column: 1 / -1;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, .09);
  }

  .site-footer .footer-grid > div:nth-child(4) {
    display: flex;
    flex-wrap: wrap;
    column-gap: 18px;
    row-gap: 2px;
  }

  .site-footer .footer-grid > div:nth-child(4) h3 {
    width: 100%;
  }

  .site-footer .footer-grid > div:nth-child(4) a,
  .site-footer .footer-grid > div:nth-child(4) .footer-cookie-button {
    width: auto;
    min-height: 30px;
    margin: 0 !important;
    padding: 4px 0;
  }

  /* Copyright row */
  .site-footer .footer-bottom {
    margin-top: 28px !important;
    padding-top: 17px !important;
    flex-direction: row !important;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    color: #7f8992 !important;
    font-size: 10px !important;
  }

  .site-footer .footer-bottom span:last-child {
    max-width: 170px;
    text-align: right;
    line-height: 1.4;
  }

  /* Keep the back-to-top button clear of the fixed action bar */
  .back-to-top {
    right: 16px;
    bottom: 82px;
    width: 42px;
    height: 42px;
  }
}

@media (max-width: 380px) {
  .site-footer .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .site-footer .footer-grid > div:nth-child(4) {
    grid-column: auto;
  }

  .site-footer .footer-bottom {
    flex-direction: column !important;
    align-items: flex-start;
  }

  .site-footer .footer-bottom span:last-child {
    max-width: none;
    text-align: left;
  }
}


/* =========================================================
   Footer white logo and subtle top information bar refinement
   ========================================================= */

.footer-logo {
  content: url("../img/roland-recovery-logo-white.png");
  width: 190px;
  max-width: 100%;
  height: auto;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

.topline {
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  background:
    linear-gradient(90deg, #0a1016 0%, #0d141b 55%, #0a1016 100%);
  color: #e7ebee;
  font-size: 11px;
  font-weight: 750;
}

.topline__inner {
  min-height: 40px;
}

.topline__inner > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.topline__inner > span:first-child::before {
  content: "";
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #db504a;
  box-shadow: 0 0 0 4px rgba(219, 80, 74, .10);
}

.topline a {
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .045);
}

@media (max-width: 760px) {
  .site-footer .footer-logo {
    width: 184px !important;
    margin-bottom: 18px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .topline__inner {
    min-height: 36px;
  }

  .topline {
    font-size: 10px;
  }

  .topline a {
    padding: 3px 6px;
  }
}
