/* Shared voice and typography for all three Pavanello pages. */
body { font-family:'DM Sans',system-ui,sans-serif; }
em,.step-number,.closing-word,.closing::after,.delivery-grid article::before {
  font-family:'DM Sans',system-ui,sans-serif;
  font-style:normal;
}
h1 em,h2 em,h3 em { font-weight:inherit; letter-spacing:inherit; }
/* Color is the single emphasis. No italic or animated underline. */
.js [data-reveal] h2 em,.js [data-reveal].is-in h2 em {
  background:none;
  padding-bottom:0;
}
h1,h2,h3 { text-wrap:balance; }
.delivery-grid article::before { font-size:1.25rem; font-weight:500; }
.nav-links a[aria-current="page"] { color:var(--text); font-weight:600; }
.unified-footer { margin-top:100px; padding-block:0 2rem; }
/* Shared legal row: do not nest a second page-width container in the footer. */
footer > p.wrap { width:100%; max-width:none; margin:1rem 0 0; padding:0; font-size:.75rem; color:var(--muted); }
footer > p.wrap a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:760px) {
  footer.footer,footer.unified-footer { margin-top:3rem; padding-block:0 1.5rem; }
  footer.footer .footer-top,footer.unified-footer .footer-top { display:flex; flex-direction:column; align-items:flex-start; gap:1rem; padding-block:1.5rem; }
  footer.footer .footer-top .brand,footer.unified-footer .footer-top .brand { flex:none; }
  footer.footer .footer-top p,footer.unified-footer .footer-top p { margin:0; font-size:.875rem; line-height:1.6; }
  footer.footer .footer-top > .text-link,footer.unified-footer .footer-top > .text-link { margin:0; min-height:44px; display:inline-flex; align-items:center; gap:.75rem; }
  footer.footer .footer-top > .text-link span,footer.unified-footer .footer-top > .text-link span { margin:0; }
  footer.footer .footer-bottom,footer.unified-footer .footer-bottom { display:flex; flex-direction:column; align-items:flex-start; gap:.75rem; padding-top:1.25rem; font-size:.75rem; line-height:1.7; }
  footer.footer .footer-bottom nav,footer.unified-footer .footer-bottom nav { display:flex; flex-wrap:wrap; gap:0 1.25rem; }
  footer.footer > p.wrap,footer.unified-footer > p.wrap { margin:0; }
}
.unified-footer .footer-top { display:flex; align-items:center; gap:4rem; padding-block:2.8rem; }
.unified-footer .footer-top p { font-size:.875rem; line-height:1.65; color:var(--muted); }
.unified-footer .footer-top > .text-link { margin-left:auto; font-size:.875rem; font-weight:600; }
.unified-footer .footer-top > .text-link span { color:var(--accent); margin-left:1rem; }
.unified-footer .footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:2rem; border-top:1px solid var(--line); padding-top:1.5rem; color:var(--muted); font-size:.75rem; }
.unified-footer .footer-bottom nav { display:flex; gap:1.8rem; }
.unified-footer a:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
@media(max-width:760px) {
  .unified-footer .footer-top { flex-wrap:wrap; gap:1.5rem; }
  .unified-footer .footer-top > .text-link { margin-left:0; }
  .unified-footer .footer-bottom { flex-direction:column; align-items:flex-start; gap:1.2rem; }
  .unified-footer .footer-bottom a,.footer-bottom a { display:inline-flex; align-items:center; min-height:44px; }
  .hero-controls button,.business-foot button,.business-nav button { min-height:44px; }
  /* Touch scroll belongs to the page; animated messages still scroll in JS. */
  .hero-chat-scroll,.niche-scroll { overflow-y:hidden; overscroll-behavior:auto; touch-action:pan-y pinch-zoom; }
}
@media(max-width:380px) {
  .dash-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; }
  .dash-tabs button { white-space:normal; text-align:center; min-height:44px; }
}
