/* A smaller hero and a compact character beside the introduction. */
.hero { padding-top:34px; }
.hero h1 { font-size:clamp(46px,4.7vw,66px); line-height:1.03; margin-bottom:9px; letter-spacing:-.05em; }
.hero-copy>.eyebrow { margin-bottom:9px; }
.hero-description-row { display:flex; align-items:center; gap:12px; }
.hero-description-row .hero-description { flex:1; min-width:0; margin:0; }
.mascot-hero { width:88px; height:132px; }
.hero-actions { margin-top:12px; margin-bottom:7px; }
.hero-proof { margin-top:14px; }
.hero-bottom { margin-top:20px; }

/* Center the guide between the dividing line and the bottom of the panel. */
.request-copy { align-self:stretch; display:flex; flex-direction:column; }
.request-copy>.eyebrow { margin-top:80px; }
.request-guide-row { flex:1; min-height:230px; margin-bottom:-44px; }
.request-guide-row .direct-contact { margin-bottom:0; }

/* All document sections stay visible at every breakpoint, also without JS. */
.legal-contents { display:block; }
.legal-sidebar .legal-nav { padding:15px; }
.legal-nav .tiny-label { display:block; }

/* The same footer component is used by home and legal in all languages. */
.site-footer { display:grid; grid-template-columns:minmax(180px,1fr) minmax(320px,1.8fr) minmax(185px,1fr); align-items:start; gap:20px; padding-top:14px; padding-bottom:14px; }
.site-footer a,.site-footer a:last-child { margin:0; }
.footer-brand-block .brand { display:inline-flex; font-size:23px; line-height:1.2; }
.footer-motto { max-width:225px; font-size:12px; line-height:1.2; margin:6px 0 0; color:var(--text); }
.footer-location { font-size:11px; color:var(--muted); }
.footer-center { text-align:center; }
.site-footer .legal-links { justify-content:center; align-items:center; column-gap:12px; row-gap:5px; font-size:11px; line-height:1.2; }
.site-footer .legal-links a { padding-block:0; }
.site-footer .legal-links button { padding:0; line-height:1.2; }
.footer-credit { margin-top:10px; font-size:11px; line-height:1.2; color:var(--muted); }
.footer-credit a { color:var(--action); font-weight:800; }
.footer-contact { display:flex; flex-direction:column; align-items:flex-start; justify-self:end; gap:4px; font-style:normal; font-size:12px; line-height:1.2; }
.footer-contact-link { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.footer-contact .ui-icon { width:16px; height:16px; min-width:16px; flex:none; color:var(--blueText); }
.footer-contact .tiny-label { margin:0 0 3px; font-size:9px; color:var(--muted); }
.footer-contact>a { color:var(--text); }
.footer-messengers { display:flex; flex-wrap:wrap; gap:4px 12px; color:var(--blueText); }
.site-footer a:hover { color:var(--blueText); }
@media(min-width:761px) {
  .footer-contact { padding-right:20px; }
  .back-to-top { right:12px; width:36px; height:36px; }
}
@media(max-width:1100px) {
  .site-footer { grid-template-columns:minmax(150px,1fr) minmax(280px,1.5fr) minmax(165px,1fr); gap:13px; }
  .request-copy>.eyebrow { margin-top:40px; }
}
@media(max-width:760px) {
  .hero { padding-top:23px; }
  .hero h1 { font-size:clamp(34px,9vw,46px); line-height:1.04; margin-bottom:8px; }
  .hero-description-row { gap:9px; }
  .mascot-hero { width:80px; height:120px; }
  .hero-proof { margin-top:12px; }
  .hero-bottom { margin-top:17px; }
  .request-copy { display:block; }
  .request-copy>.eyebrow { margin-top:0; }
  .request-guide-row { min-height:0; margin-bottom:20px; padding-block:18px; }
  .legal-sidebar .legal-nav { padding:13px; }
  .legal-nav .tiny-label { margin-bottom:8px; }
  .site-footer { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; padding-top:14px; padding-bottom:80px; }
  .footer-brand-block .brand { font-size:21px; }
  .footer-motto { font-size:11px; margin-top:6px; }
  .footer-contact { font-size:11px; gap:4px; }
  .footer-contact-link { gap:5px; }
  .footer-messengers { gap:4px 9px; }
  .footer-center { grid-column:1 / -1; grid-row:2; padding-top:8px; border-top:1px solid var(--line); }
  .site-footer .legal-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 10px; font-size:10px; }
  .site-footer .legal-links a,.site-footer .legal-links button { min-height:22px; display:inline-flex; align-items:center; justify-content:center; }
  .site-footer .legal-links button { grid-column:1 / -1; justify-self:center; }
  .footer-credit { margin-top:6px; font-size:10.5px; }
  .legal-page .site-footer { padding-bottom:14px; }
}
@media(max-width:350px) {
  .mascot-hero { width:68px; height:102px; }
  .footer-contact { font-size:10px; }
  .footer-messengers { gap:4px 7px; }
  .site-footer { padding-bottom:96px; }
  .legal-page .site-footer { padding-bottom:14px; }
}
