@media (max-width:700px) {
  .tt-footer-shell { width:auto; margin:0; padding:0 22px; }
  .tt-footer-cta { padding:38px 0; }
  .tt-footer-grid { padding:44px 0 0; }
  .tt-footer-brand { margin:0 0 34px; }
  .tt-footer-brand>p { max-width:35ch; margin:0; font-size:13px; line-height:1.72; }
  .tt-footer-socials { align-items:center; flex-wrap:wrap; gap:10px; margin:22px 0 0; }
  .tt-footer-socials a { width:42px; height:42px; flex:0 0 42px; }

  .tt-footer-group { margin:0; border-top:1px solid rgba(255,255,255,.16); }
  .tt-footer-group>button {
    min-height:72px;
    padding:0 4px 0 6px;
    font-size:14px;
    line-height:1;
  }
  .tt-footer-group>button span {
    display:grid;
    width:28px;
    height:28px;
    place-items:center;
    border:1px solid rgba(255,255,255,.17);
    border-radius:50%;
    font-size:19px;
    line-height:1;
  }
  .tt-footer-group.open>button span { border-color:#f46c31; background:#f46c31; }

  /* Prevent menu items from leaking out of a closed accordion. */
  .tt-footer-group>div {
    display:block;
    max-height:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    transition:max-height .35s ease,opacity .22s ease,visibility 0s linear .35s;
  }
  .tt-footer-group>div>* { overflow:visible; }
  .tt-footer-group.open>div {
    max-height:560px;
    opacity:1;
    visibility:visible;
    transition:max-height .4s ease,opacity .25s ease;
  }
  .tt-footer-menu { padding:0 6px 20px; }
  .tt-footer-menu li+li { margin-top:0; }
  .tt-footer-menu a { min-height:43px; font-size:13px; }

  .tt-footer-plan {
    margin:0;
    padding:34px 6px 38px;
    border-top:1px solid rgba(255,255,255,.16);
  }
  .tt-footer-plan h2 { margin-bottom:13px; font-size:17px; }
  .tt-footer-plan>p { max-width:36ch; margin:0 0 22px; }
  .tt-footer-plan .tt-footer-whatsapp { width:100%; margin:0 0 20px; }
  .tt-footer-plan address { gap:0; }
  .tt-footer-bottom { margin:0; padding:27px 6px calc(96px + env(safe-area-inset-bottom)); }
}

@media (max-width:380px) {
  .tt-footer-shell { padding-inline:18px; }
  .tt-footer-cta>div:last-child { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .tt-footer-group>div { transition:none; }
}
