/* Rileys: improvements on top of the theme (Scott Charnley rebuild, 6 Oct 2026). Brand unchanged: same fonts, colours, layout.
   Ben: "all writing looks tiny", "the hero section too low down", "the reviews shud scroll from right". */

/* Hero sits higher (the theme put header height + 3rem / + 6rem of white above the first line) */
.wordmark-hero { padding-top: calc(var(--header-height) + 1.5rem); padding-bottom: 2rem; }
.page-hero { padding-top: calc(var(--header-height) + 2.5rem); padding-bottom: 2.5rem; }
@media (max-width: 768px) {
  .wordmark-hero { padding-top: calc(var(--header-height) + 0.75rem); padding-bottom: 1.75rem; }
  .page-hero { padding-top: calc(var(--header-height) + 1.25rem); padding-bottom: 2rem; }
  .section { padding: 3.5rem 0; }
  .section--sm { padding: 2.75rem 0; }
}

/* Readable text on phones */
@media (max-width: 768px) {
  body { font-size: 17px; }
  p, li, .faq-answer, .process-content p, .service-card p { font-size: 1.0625rem; line-height: 1.7; }
  .page-hero p { font-size: 1.125rem; line-height: 1.6; }
  .section-eyebrow, .breadcrumb, .breadcrumbs { font-size: 0.8125rem; }
  .btn { font-size: 0.9375rem; padding-top: 1.05rem; padding-bottom: 1.05rem; }
}

/* Footer: was 11-13px at 15-40% white; now readable, same look */
.site-footer { color: rgba(255,255,255,0.72); }
.site-footer p { color: rgba(255,255,255,0.7); font-size: 0.9375rem; line-height: 1.65; }
.footer-link { font-size: 0.9375rem; color: rgba(255,255,255,0.72); }
.footer-link:hover { color: #fff; }
.footer-areas { font-size: 0.875rem; color: rgba(255,255,255,0.6); }
.footer-credit, .footer-copy, .footer-bottom p { font-size: 0.8125rem; color: rgba(255,255,255,0.55); }
.footer-credit a, .footer-bottom a { color: rgba(255,255,255,0.75); }
.footer-links { gap: 0.55rem; }

/* Reviews: a row that slides in from the right (swipe, or it advances by itself) */
.review-stack { flex-direction: row; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 0.25rem 0 0.75rem; margin-right: calc(-1 * var(--sp-md)); }
.review-stack::-webkit-scrollbar { display: none; }
.review-stack .review-blockquote { flex: 0 0 86%; scroll-snap-align: start; background: var(--clr-bg-alt); border-left: 3px solid var(--clr-black);
  padding: 1.5rem 1.25rem; margin: 0; animation: rp-in .6s ease both; }
@media (min-width: 769px) { .review-stack .review-blockquote { flex-basis: 46%; } }
@keyframes rp-in { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: none; } }
.rp-dots { display: flex; gap: 8px; margin-top: 0.5rem; }
.rp-dots button { width: 9px; height: 9px; border-radius: 50%; border: 0; padding: 0; background: var(--clr-rule); cursor: pointer; }
.rp-dots button[aria-current="true"] { background: var(--clr-black); }
@media (prefers-reduced-motion: reduce) { .review-stack .review-blockquote { animation: none; } }

/* Phones: Call / Free quote always to hand */
.rp-bar { display: none; }
@media (max-width: 768px) {
  .rp-bar { display: grid; grid-template-columns: 1fr 1fr; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
    padding-bottom: env(safe-area-inset-bottom); background: #000; border-top: 1px solid #000; box-shadow: 0 -6px 18px rgba(0,0,0,.12); transition: transform .25s; }
  .rp-bar.is-off { transform: translateY(110%); }
  .rp-bar a { display: flex; align-items: center; justify-content: center; padding: 1rem; font-size: 0.8125rem; font-weight: 600;
    letter-spacing: 0.12em; text-transform: uppercase; color: #fff; text-decoration: none; }
  .rp-bar a + a { background: #fff; color: #000; }
  body { padding-bottom: 56px; }
}
