/* Shared page title, primary estimate action, and trust strip.
   These components are rendered by app/templates/macros.html. */
main h1.kr-page-title.kr-page-title {
  display:block; width:auto; max-width:1120px; margin:0 auto 23px;
  padding:0; border:0; color:#fff; background:none;
  font:400 clamp(40px,4.1vw,54px)/1.22 Cinzel,Georgia,serif;
  letter-spacing:0; text-transform:none; text-wrap:balance;
}
main h1.kr-page-title--dark.kr-page-title--dark { color:#241e18; }
main p.kr-page-kicker.kr-page-kicker {
  display:table; width:auto; max-width:100%; margin:0 auto 24px;
  padding:0 0 13px; border:0; border-bottom:1px solid #fff;
  color:var(--gold); background:none;
  font:400 clamp(25px,2.5vw,35px)/1.34 Cinzel,Georgia,serif;
  letter-spacing:0; text-transform:none; text-wrap:balance;
}
main p.kr-page-kicker--dark.kr-page-kicker--dark {
  margin-left:0; border-bottom-color:#b4a07c;
}
main .info-hero h1.kr-page-title { text-align:center; }
main .blog-intro h1.kr-page-title,
main .live-article h1.kr-page-title { margin-left:0; text-align:left; }
main .live-article h1.kr-page-title { margin-top:18px; }
main .kr-estimate-button {
  display:inline-flex; align-items:center; justify-content:center;
  max-width:100%; min-height:54px; padding:12px 21px;
  border:2px solid var(--gold); border-radius:5px;
  background:#fff; color:#a78628;
  font:400 19px/1.24 Cinzel,Georgia,serif;
  letter-spacing:0; text-decoration:none; text-align:center;
  text-transform:none; cursor:pointer;
  transition:background-color .2s,color .2s,border-color .2s,transform .2s;
}
main .kr-estimate-button::after {
  content:"›"; display:inline-block; margin-left:9px;
  font:400 25px/.75 Cinzel,serif;
}
main .kr-estimate-button:hover,
main .kr-estimate-button:focus-visible {
  background:#333; border-color:#333; color:#fff;
  transform:translateY(-2px);
}
main .kr-estimate-button:focus-visible {
  outline:2px solid var(--gold); outline-offset:3px;
}
.fact-strip { padding:30px 0; background:var(--cream); }
.fact-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.fact {
  display:flex; min-width:0; min-height:106px;
  flex-direction:column; justify-content:center; align-items:center;
  padding:15px clamp(12px,2vw,28px);
  border:0; border-right:1px solid #111; border-radius:0;
  background:transparent; box-shadow:none; text-align:center;
}
.fact:last-child { border-right:0; }
.fact strong {
  margin:0 0 7px; font:400 clamp(20px,1.85vw,25px)/1.25 Cinzel,serif;
}
.fact span { font:400 15px/1.35 "DM Sans",sans-serif; }
@media(max-width:1050px) {
  .fact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fact:nth-child(2) { border-right:0; }
  .fact:nth-child(n+3) { border-top:1px solid #111; }
}
@media(max-width:619px) {
  .fact-grid { grid-template-columns:1fr; }
  .fact,.fact:nth-child(2),.fact:nth-child(n+3) {
    width:max-content; max-width:100%; min-height:86px;
    justify-self:center; padding:12px 18px;
    border:0; border-bottom:1px solid #111;
  }
  .fact:last-child { border:0; }
  .fact strong { margin-bottom:4px; font-size:23px; }
  .fact span { font-size:16px; }
}
@media(max-width:767px) {
  main h1.kr-page-title.kr-page-title { font-size:clamp(36px,6vw,44px); line-height:1.25; }
  main p.kr-page-kicker.kr-page-kicker { font-size:clamp(22px,4vw,28px); }
  main .kr-estimate-button { font-size:clamp(15px,4vw,18px); min-height:50px; }
}
@media(prefers-reduced-motion:reduce) {
  main .kr-estimate-button { transition:none; }
}
