/* Consistent finishing layer for the V78 public site. */
:root{scroll-behavior:smooth;scroll-padding-top:88px}
body{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;line-height:1.65}
img{max-width:100%;height:auto}
h1,h2,h3{ text-wrap:balance }
p{ text-wrap:pretty }
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #bd2439;outline-offset:3px;border-radius:4px}
.container{width:min(100% - 36px,1200px);margin-inline:auto}
.site-header{box-shadow:0 4px 22px rgba(18,29,42,.045)}
.page-hero{padding-block:clamp(34px,5vw,66px)}
.page-hero h1{font-size:clamp(2rem,4.2vw,3.35rem);line-height:1.12;letter-spacing:-.035em;max-width:22ch}
.page-hero p{max-width:72ch;line-height:1.75}
.site-footer{margin-top:clamp(42px,6vw,76px)}
input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;min-height:44px}
button,.button,.btn{min-height:42px}
@media(max-width:760px){
  :root{scroll-padding-top:72px}
  .container{width:min(100% - 30px,1200px)}
  .page-hero{padding-block:32px}
  .page-hero h1{font-size:clamp(1.9rem,8vw,2.55rem);max-width:20ch}
  .site-footer{margin-top:42px}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(prefers-reduced-motion:reduce){
  :root{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
