:root {
      --canvas: #F4F6F5;
      --surface: #FFFFFF;
      --ink: #221E1F;
      --muted: #625D5A;
      --accent: #FCB960;
      --on-accent: #221E1F;
      --on-dark: #F4F6F5;
      --rule: #D5DBD8;
      --rule-strong: #8A817A;
      --error: #8F2D2D;
      --success: #2F6B4F;
      --whatsapp: #075E54;
      --headline: "Funnel Display", "Arial Narrow", Arial, sans-serif;
      --display: "Bricolage Grotesque", "Arial Narrow", Arial, sans-serif;
      --body: "Familjen Grotesk", Arial, sans-serif;
      --wrap: 73.75rem;
      --measure: 43rem;
      --space-1: .5rem;
      --space-2: 1rem;
      --space-3: 1.5rem;
      --space-4: 2rem;
      --space-5: 3rem;
      --space-6: 4.5rem;
      --focus: 3px solid var(--accent);
    }

    *, *::before, *::after { box-sizing: border-box; }

    html {
      color-scheme: light;
      scroll-behavior: smooth;
      scroll-padding-top: 1rem;
      scroll-padding-bottom: 7rem;
    }

    body {
      margin: 0;
      background: var(--canvas);
      color: var(--ink);
      font-family: var(--body);
      font-size: 1.1875rem;
      line-height: 1.6;
      text-rendering: optimizeLegibility;
    }

    body.modal-open { overflow: hidden; }

    img { display: block; max-width: 100%; }
    button, input { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }

    a {
      color: inherit;
      text-underline-offset: .22em;
      text-decoration-thickness: .08em;
    }

    :focus-visible {
      outline: var(--focus);
      outline-offset: 4px;
    }

    ::selection {
      background: var(--accent);
      color: var(--ink);
    }

    input { caret-color: var(--ink); }

    h1, h2, h3, p { margin-top: 0; }

    h1, h2, h3 {
      font-family: var(--display);
      text-wrap: balance;
    }

    h1, h2 { font-family: var(--headline); }

    h1 {
      max-width: 100%;
      margin-bottom: 1.25rem;
      color: var(--on-dark);
      font-size: clamp(2rem, 9vw, 3rem);
      line-height: 1.02;
      letter-spacing: -.025em;
    }

    h2 {
      margin-bottom: 1rem;
      font-size: clamp(1rem, 6vw, 2rem);
      line-height: 1.08;
      letter-spacing: -.02em;
    }

    h3 {
      margin-bottom: .5rem;
      font-size: 1.5rem;
      line-height: 1.2;
    }

    .sr-only {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      padding: 0 !important;
      margin: -1px !important;
      overflow: hidden !important;
      clip: rect(0, 0, 0, 0) !important;
      white-space: nowrap !important;
      border: 0 !important;
    }

    .skip-link {
      position: fixed;
      z-index: 1000;
      inset: .75rem auto auto .75rem;
      padding: .75rem 1rem;
      background: var(--accent);
      color: var(--ink);
      font-weight: 700;
      transform: translateY(-180%);
    }

    .skip-link:focus { transform: translateY(0); }

    .container {
      width: min(100% - 2rem, var(--wrap));
      margin-inline: auto;
    }

    .measure { max-width: var(--measure); }

    .site-header {
      background: var(--ink);
      color: var(--on-dark);
      border-bottom: 1px solid rgba(247, 244, 238, .24);
    }

    .site-header__inner {
      min-height: 5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: .75rem;
    }

    .logo-crop {
      position: relative;
      width: 7.5rem;
      height: 2.5rem;
      overflow: hidden;
      flex: 0 0 auto;
    }

    .logo-crop img {
      position: absolute;
      inset: -2.5rem auto auto 0;
      width: 7.5rem;
      height: 7.5rem;
      max-width: none;
    }

    .btn {
      position: relative;
      overflow: hidden;
      min-height: 3rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .5rem;
      padding: .75rem 1rem;
      border: 0;
      border-radius: 4px;
      background: var(--accent);
      color: var(--on-accent);
      font-family: var(--body);
      font-size: 1.1875rem;
      font-weight: 600;
      line-height: 1.15;
      text-align: center;
      text-decoration: none;
      cursor: pointer;
      transition: background-color .2s ease, color .2s ease, transform .2s ease;
    }

    .btn:hover { background: var(--on-dark); transform: translateY(-2px); }
    .btn:active { background: #EAA64A; transform: translateY(0); }
    .btn[disabled] { cursor: not-allowed; opacity: .58; }

    .btn--dark:hover {
      background: var(--ink);
      color: var(--on-dark);
    }

    .site-header .btn {
      min-height: 2.75rem;
      max-width: 9.25rem;
      padding: .65rem .75rem;
      font-size: .94rem;
    }

    .hero {
      position: relative;
      overflow: hidden;
      background: var(--ink);
      color: var(--on-dark);
      padding: 3rem 0 4rem;
    }

    .hero::after {
      content: "";
      position: absolute;
      inset: auto -5rem 1.25rem auto;
      width: 11rem;
      height: 4rem;
      border-top: 2px solid var(--accent);
      border-left: 2px solid var(--accent);
      transform: skewX(-28deg);
      opacity: .72;
      pointer-events: none;
    }

    .hero-grid { display: grid; gap: 3rem; align-items: center; }

    .hero__sub {
      max-width: 34rem;
      margin-bottom: .75rem;
      color: var(--on-dark);
      font-size: 1.5rem;
      line-height: 1.4;
    }

    .hero__body {
      max-width: 31rem;
      margin-bottom: 1.75rem;
      color: #D9D3CB;
    }

    .hero .btn { width: 100%; }

    .coverage-line {
      margin: 1.35rem 0 0;
      padding-top: 1rem;
      border-top: 1px solid rgba(247, 244, 238, .35);
      color: #D9D3CB;
      font-size: .94rem;
    }

    .hero-route {
      position: relative;
      margin: 0;
      padding: 0;
      list-style: none;
      border-block: 1px solid rgba(247, 244, 238, .35);
    }

    .hero-route li {
      position: relative;
      display: grid;
      grid-template-columns: 2.75rem 1fr;
      gap: .75rem;
      align-items: center;
      min-height: 5rem;
      padding: .8rem 0;
    }

    .hero-route li + li { border-top: 1px solid rgba(247, 244, 238, .18); }

    .hero-route__number {
      width: 2.25rem;
      height: 2.25rem;
      display: grid;
      place-items: center;
      background: var(--accent);
      color: var(--ink);
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      transform: skewX(-8deg);
    }

    .hero-route strong { display: block; color: var(--on-dark); }
    .hero-route span:last-child { color: #D9D3CB; font-size: 1.1875rem; }

    .section { position: relative; padding: var(--space-6) 0; isolation: isolate; overflow: hidden; }
    .section > .container { position: relative; z-index: 1; }

    .section-texture {
      position: absolute;
      z-index: 0;
      pointer-events: none;
    }

    .light-texture {
      opacity: .48;
      background-color: rgba(252, 185, 96, .035);
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23221E1F' stroke-opacity='.11' stroke-width='1'%3E%3Cpath d='M-8 88 32 8M20 104 68 8M56 104 104 8'/%3E%3C/g%3E%3Cpath d='m66 72 8-16h13' fill='none' stroke='%23FCB960' stroke-opacity='.55' stroke-width='2'/%3E%3C/svg%3E");
      background-size: 96px 96px;
      clip-path: polygon(18% 0, 100% 0, 82% 100%, 0 100%);
    }

    .recognition-section .section-texture {
      width: min(38rem, 62vw);
      height: 18rem;
      inset: 2rem -7rem auto auto;
    }

    .online-section .section-texture {
      width: min(34rem, 70vw);
      height: 22rem;
      inset: auto -5rem 1rem auto;
      transform: rotate(180deg);
    }

    .faq-section .section-texture {
      width: min(42rem, 68vw);
      height: 16rem;
      inset: 3rem auto auto -9rem;
      opacity: .34;
    }
    .section__lead { margin-bottom: 2.5rem; }
    .section__sub { max-width: 100%; color: var(--muted); font-size: 1.1875rem; }

    .recognition-grid { display: grid; gap: 2.25rem; }

    .topic-list {
      display: grid;
      margin: 0 0 1.5rem;
      padding: 0;
      list-style: none;
      border-top: 1px solid var(--rule-strong);
    }

    .topic-list li {
      position: relative;
      min-height: 3.5rem;
      display: flex;
      align-items: center;
      padding: .65rem .5rem .65rem 3rem;
      border-bottom: 1px solid var(--rule);
      font-weight: 600;
    }

    .topic-list li::before {
      content: "";
      position: absolute;
      left: 1rem;
      width: .75rem;
      height: .75rem;
      border-left: 3px solid var(--accent);
      border-bottom: 3px solid var(--accent);
      transform: skewX(-18deg);
    }

    .note {
      margin: 1.4rem 0;
      padding: 1rem 0;
      border-block: 1px solid var(--rule-strong);
      color: var(--muted);
    }

    .section .btn { width: 100%; }

    .journey-section {
      background: var(--ink);
      color: var(--on-dark);
    }

    .journey-section .section-texture {
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      opacity: .18;
      background-image: radial-gradient(circle, rgba(252, 185, 96, .52) 1px, transparent 1.5px);
      background-size: 22px 22px;
      -webkit-mask-image: linear-gradient(90deg, transparent 4%, #000 48%, transparent 96%);
      mask-image: linear-gradient(90deg, transparent 4%, #000 48%, transparent 96%);
    }

    .journey-section .section__sub,
    .journey-section .note { color: #D9D3CB; }

    .journey-section .note { border-color: rgba(247, 244, 238, .35); }

    .journey-wrap {
      position: relative;
      margin-top: 3rem;
    }

    .journey-track {
      position: absolute;
      z-index: 0;
      top: .25rem;
      bottom: 1.25rem;
      left: 1.25rem;
      width: 2px;
      background: var(--accent);
      transform: scaleY(0);
      transform-origin: top;
      transition: transform .38s cubic-bezier(.16, 1, .3, 1);
    }

    .journey-wrap.is-revealed .journey-track { transform: scaleY(1); }

    .journey-list {
      position: relative;
      z-index: 1;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .journey-step {
      position: relative;
      min-height: 9.5rem;
      padding: 0 0 2.75rem 4.25rem;
    }

    .journey-marker {
      position: absolute;
      top: 0;
      left: 0;
      width: 2.5rem;
      height: 2.5rem;
      display: grid;
      place-items: center;
      border: 2px solid var(--accent);
      background: var(--ink);
      color: var(--accent);
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      transform: skewX(-7deg);
    }

    .journey-step h3 { color: var(--on-dark); }
    .journey-step p { margin-bottom: 0; color: #D9D3CB; }

    .journey-section .btn:hover {
      background: var(--on-dark);
      color: var(--ink);
    }

    .journey-section > .container > .btn {
      display: flex;
      width: min(100%, 13rem);
      margin-inline: auto;
    }

    .online-grid { max-width: 100%; display:flex; gap: none; align-items:center; text-align: center; }

    .state-strip {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      margin: 0;
      padding: 0;
      list-style: none;
      border-top: 1px solid var(--rule-strong);
      border-left: 1px solid var(--rule-strong);
    }

    .state-strip li {
      min-height: 4.5rem;
      display: grid;
      place-items: center;
      border-right: 1px solid var(--rule-strong);
      border-bottom: 1px solid var(--rule-strong);
      font-family: var(--display);
      font-size: 1.5rem;
      font-weight: 700;
    }

    .authority {
      background: var(--surface);
      border-block: 1px solid var(--rule);
    }

    .authority-grid { display: grid; gap: 2.5rem; align-items: center; }

    .monogram-frame {
      min-height: 13rem;
      display: grid;
      place-items: center;
      background: var(--ink);
      overflow: hidden;
    }

    .monogram-frame img {
      display: block;
      width: min(14rem, 65vw);
      height: auto;
    }

    .authority-facts {
      display: grid;
      margin: 1.75rem 0;
      border-top: 1px solid var(--rule-strong);
    }

    .authority-fact {
      display: grid;
      grid-template-columns: 8rem 1fr;
      gap: 1rem;
      padding: .85rem 0 .85rem 0;
      border-bottom: 1px solid var(--rule);
    }

    .authority-fact strong {
      font-family: var(--display);
      font-size: 1.15rem;
      font-variant-numeric: tabular-nums;
      padding: 0 1rem 0 0;
    }

    .faq-list {
      border-top: 1px solid var(--rule-strong);
      padding-top: .5rem;
    }

    .faq-list details { border-bottom: 1px solid var(--rule-strong); }

    .faq-list summary {
      min-height: 4rem;
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 1rem;
      align-items: center;
      padding: .8rem 0;
      font-family: var(--display);
      font-size: 1.1875rem;
      font-weight: 600;
      cursor: pointer;
      list-style: none;
    }

    .faq-list summary::-webkit-details-marker { display: none; }
    .faq-list summary::after {
      content: "+";
      width: 2.75rem;
      height: 2.75rem;
      display: grid;
      place-items: center;
      color: var(--ink);
      font-family: var(--body);
      font-size: 1.75rem;
      font-weight: 500;
      line-height: 1;
      transform: rotate(0deg);
      transition: color .25s ease, transform .32s cubic-bezier(.16, 1, .3, 1);
    }

    .faq-list details[open] summary::after { content: "−"; color: #8A4D00; transform: rotate(180deg); }

    .faq-answer {
      display: grid;
      grid-template-rows: 0fr;
      opacity: 0;
      transition: grid-template-rows .36s cubic-bezier(.16, 1, .3, 1), opacity .24s ease;
    }

    .faq-answer > div { overflow: hidden; }
    .faq-list details.is-expanded .faq-answer { grid-template-rows: 1fr; opacity: 1; }
    .faq-list details p { max-width: 46rem; padding: 0 0 1.25rem; margin-bottom: 0; color: var(--muted); }

    .site-footer {
      position: relative;
      background: var(--ink);
      color: var(--on-dark);
      padding: 3.5rem 0 calc(7rem + env(safe-area-inset-bottom));
    }

    .site-footer .container { text-align: center; }
    .footer-grid { display: grid; gap: 2.5rem; justify-items: center; }
    .footer-grid > div { width: 100%; }
    .footer-brand .logo-crop { width: 10rem; height: 3.4rem; margin: 0 auto 1rem; }
    .footer-brand .logo-crop img { width: 10rem; height: 10rem; inset-block-start: -3.5rem; }
    .footer-brand p { color: #D9D3CB; }

    .footer-title {
      margin-bottom: .75rem;
      font-family: var(--display);
      font-size: 1.1875rem;
      color: var(--on-dark);
    }

    .footer-list {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .footer-list li { padding: .2rem 0; }
    .footer-list a:hover { color: var(--accent); }

    .oab-list {
      display: flexbox;
      grid-template-columns: 1fr;
      gap: none;
      font-variant-numeric: tabular-nums;
    }

    .oab-list li { white-space: nowrap; text-align: center; }

    .footer-notice {
      margin-top: 2.5rem;
      padding-top: 1.5rem;
      border-top: 1px solid rgba(247, 244, 238, .28);
      color: #D9D3CB;
      font-size: .94rem;
    }

    .whatsapp-widget {
      position: fixed;
      z-index: 30;
      inset-inline-end: max(1rem, env(safe-area-inset-right));
      inset-block-end: max(1rem, env(safe-area-inset-bottom));
      width: 3.5rem;
      height: 3.5rem;
      display: grid;
      place-items: center;
      border: 0;
      border-radius: 50%;
      background: var(--whatsapp);
      color: #FFFFFF;
      text-decoration: none;
    }

    .whatsapp-widget:hover { background: #064D45; }
    .whatsapp-widget:hover { transform: translateY(-3px) rotate(-4deg); }
    .whatsapp-widget svg { width: 1.65rem; height: 1.65rem; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s cubic-bezier(.16, 1, .3, 1); }
    .whatsapp-widget:hover svg { transform: scale(1.08) rotate(4deg); }

    .motion-item {
      opacity: 0;
      transform: translateY(1.25rem);
      transition: opacity .52s ease, transform .58s cubic-bezier(.16, 1, .3, 1);
      transition-delay: var(--motion-delay, 0ms);
    }

    .motion-item.motion-title { transform: translateY(1.5rem) skewY(1deg); }
    .motion-item.motion-icon { transform: translateY(.8rem) rotate(-5deg) scale(.9); }
    .motion-item.is-visible { opacity: 1; transform: none; }
    .btn.motion-item.is-visible:hover { transform: translateY(-2px); }
    .whatsapp-widget.motion-item.is-visible:hover { transform: translateY(-3px) rotate(-4deg); }

    dialog {
      width: min(calc(100% - 2rem), 37.5rem);
      max-height: calc(100dvh - 2rem);
      margin: auto;
      padding: 0;
      overflow: hidden;
      border: 1px solid var(--rule-strong);
      border-radius: 8px;
      background: var(--surface);
      color: var(--ink);
    }

    dialog::backdrop { background: rgba(34, 30, 31, .82); }

    .dialog-shell {
      max-height: calc(100dvh - 2rem);
      display: grid;
      grid-template-rows: auto minmax(0, 1fr);
    }

    .dialog-header {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 1rem;
      align-items: start;
      padding: 1.25rem;
      border-bottom: 1px solid var(--rule);
    }

    .dialog-header h2 { margin-bottom: .35rem; font-size: 1.875rem; }
    .dialog-header p { margin-bottom: 0; color: var(--muted); font-size: 1.1875rem; }

    .dialog-close {
      width: 3rem;
      height: 3rem;
      border: 1px solid var(--rule-strong);
      border-radius: 4px;
      background: var(--surface);
      color: var(--ink);
      cursor: pointer;
      font-size: 1.875rem;
      line-height: 1;
    }

    .dialog-close:hover { background: var(--canvas); }

    .dialog-scroll {
      overflow-y: auto;
      overscroll-behavior: contain;
      padding: 1.25rem;
      scrollbar-color: var(--rule-strong) var(--canvas);
    }

    .form-summary {
      display: none;
      margin-bottom: 1rem;
      padding: .85rem 1rem;
      border: 1px solid var(--error);
      color: var(--error);
      font-weight: 600;
    }

    .form-summary.is-visible { display: block; }

    .field { margin-bottom: 1.25rem; }

    .field label {
      display: block;
      margin-bottom: .4rem;
      font-size: 1.1875rem;
      font-weight: 600;
    }

    .field input {
      width: 100%;
      min-height: 3rem;
      padding: .7rem .8rem;
      border: 1px solid var(--rule-strong);
      border-radius: 4px;
      background: var(--surface);
      color: var(--ink);
    }

    .field input:focus-visible { outline: var(--focus); outline-offset: 2px; border-color: var(--ink); }
    .field input[aria-invalid="true"] { border: 2px solid var(--error); }

    .field-help, .field-error {
      display: block;
      margin-top: .35rem;
      font-size: .94rem;
      line-height: 1.4;
    }

    .field-help { color: var(--muted); }
    .field-error { color: var(--error); font-weight: 600; }

    .privacy-note {
      margin: 1.5rem 0;
      padding: 1rem 0;
      border-block: 1px solid var(--rule);
      color: var(--muted);
      font-size: .94rem;
    }

    .privacy-note strong { color: var(--ink); }
    .dialog-scroll .btn { width: 100%; }

    @media (min-width: 36rem) {
      .container { width: min(100% - 3rem, var(--wrap)); }
      .hero .btn, .section .btn { width: auto; min-width: 13rem; }
      .topic-list { grid-template-columns: repeat(2, 1fr); }
      .topic-list li:nth-child(odd) { border-right: 1px solid var(--rule); }
      .state-strip { grid-template-columns: repeat(5, 1fr); }
      .oab-list { grid-template-columns: 1fr; }
    }

    @media (min-width: 48rem) {
      .logo-crop { width: 9.5rem; height: 3rem; }
      .logo-crop img { width: 9.5rem; height: 9.5rem; inset-block-start: -3.25rem; }
      .site-header .btn { max-width: none; padding-inline: 1rem; font-size: 1.1875rem; }
      .hero { padding: 4.5rem 0 5.5rem; }
      .section { padding-block: 5.5rem; }
      .recognition-grid, .online-grid, .authority-grid { grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .95fr); gap: 4rem; }
      .authority-grid { grid-template-columns: minmax(18rem, .8fr) minmax(0, 1.2fr); }

      .journey-track { left: 50%; transform: translateX(-1px) scaleY(0); }
      .journey-wrap.is-revealed .journey-track { transform: translateX(-1px) scaleY(1); }
      .journey-step { width: 50%; min-height: 10.5rem; padding-bottom: 3.25rem; }
      .journey-step:nth-child(odd) { padding-left: 0; padding-right: 4rem; text-align: right; }
      .journey-step:nth-child(even) { margin-left: 50%; padding-left: 4rem; }
      .journey-step:nth-child(odd) .journey-marker { left: auto; right: -1.25rem; }
      .journey-step:nth-child(even) .journey-marker { left: -1.25rem; }

      .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
      .footer-grid > :last-child { grid-column: 1 / -1; }
    }

    @media (min-width: 64rem) {
      .hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(22rem, .9fr); gap: 6rem; }
      .hero-route { margin-top: 1rem; }
      .section__lead { margin-bottom: 3rem; }
      .recognition-grid { grid-template-columns: minmax(0, .9fr) minmax(26rem, 1.1fr); }
      .authority-grid { gap: 6rem; }
      .footer-grid { grid-template-columns: 1.1fr 1fr 1.1fr; gap: 3rem; }
      .footer-grid > :last-child { grid-column: auto; }
    }

    @media (max-width: 47.99rem) {
      dialog {
        inset: 0;
        width: 100%;
        max-width: none;
        height: 100dvh;
        min-height: 100dvh;
        max-height: 100dvh;
        margin: 0;
        border-inline: 0;
        border-block: 0;
        border-radius: 0;
      }

      .dialog-shell { width: 100%; min-height: 100dvh; height: 100dvh; max-height: 100dvh; }
      .dialog-header { padding: max(1rem, env(safe-area-inset-top)) 1rem 1rem; }
      .dialog-scroll { padding: 1rem 1rem calc(1.5rem + env(safe-area-inset-bottom)); }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
      .motion-item { opacity: 1; transform: none; }
      .journey-track { transition: none; transform: scaleY(1); }
      .journey-wrap.is-revealed .journey-track { transform: scaleY(1); }
    }

    @media (prefers-reduced-motion: reduce) and (min-width: 48rem) {
      .journey-track,
      .journey-wrap.is-revealed .journey-track { transform: translateX(-1px) scaleY(1); }
    }

/* Ajustes visuais solicitados */
.logo-crop {
  width: 10rem;
  height: 2.8rem;
}

.logo-crop img {
  position: static;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

.footer-brand .logo-crop {
  width: 12rem;
  height: auto;
  margin: 0 auto 1rem;
}

.footer-brand .logo-crop img {
  position: static;
  width: 100%;
  height: auto;
  inset: auto;
}

.footer-list a {
  text-decoration: none;
}

.monogram-frame {
  min-height: 0;
  aspect-ratio: 4 / 5;
}

.monogram-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 22%;
}

.site-footer {
  padding: 3rem 0 calc(2rem + env(safe-area-inset-bottom));
}

.whatsapp-widget img {
  width: 1.65rem;
  height: 1.65rem;
  object-fit: contain;
  transition: transform .3s cubic-bezier(.16, 1, .3, 1);
}

.whatsapp-widget:hover img {
  transform: scale(1.08) rotate(4deg);
}

@media (min-width: 48rem) {
  .logo-crop {
    width: 11rem;
    height: 3rem;
  }

  .footer-brand .logo-crop {
    width: 14rem;
    height: auto;
  }

  .site-footer {
    padding: 3.25rem 0 2rem;
  }
}

@media (min-width: 64rem) {
  .footer-grid {
    gap: 2rem;
  }

  .footer-title {
    font-size: 1rem;
  }

  .footer-brand p,
  .footer-list {
    font-size: .875rem;
  }

  .footer-notice {
    margin-top: 1.75rem;
    padding-top: 1rem;
    font-size: .8rem;
  }

  .site-footer {
    padding-block: 3rem 1.75rem;
  }
}
