
.footer {
  --ease-k: cubic-bezier(.135, .9, .15, 1);
  --beige-25: var(--line);
  background: var(--bg); color: var(--text);
  padding: 8px; border-top: 0; margin: 0;
}
.footer *, .footer *::before, .footer *::after { box-sizing: border-box; }
.footer__panel {
  container-type: inline-size; position: relative; overflow: hidden;
  border: 1px solid var(--beige-25); border-radius: 24px; background: var(--bg);
  padding: clamp(28px, 16px + 2vw, 40px) clamp(20px, 12px + 3vw, 56px) clamp(20px, 2vw, 28px);   
}
.footer__top { display: grid; gap: 40px; }
.footer__intro, .footer__cols, .footer__col { min-width: 0; }
.footer__lockup { display: block; width: 150px; height: auto; margin: 0 0 var(--sp-5); }
.footer__kicker { margin: 0 0 var(--sp-2); font: 500 var(--fs-label)/1.4 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); }
.footer__h { margin: 0 0 var(--sp-5); font-family: var(--font-display); font-weight: 500; font-size: var(--fs-h2); line-height: 1.04; letter-spacing: -.01em; color: var(--text); }

.footer__cols { display: grid; gap: 28px; }
.footer__col { border-left: 1px solid var(--beige-25); padding-left: 16px; }
.footer__col ul { list-style: none; margin: 0; padding: 0; }
.footer__label { margin: 0 0 10px; font: 500 var(--fs-label)/1.4 var(--font-body); letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); }
.footer__link {
  display: inline-flex; align-items: center; min-height: 44px; color: var(--text); text-decoration: none;
  font: 500 var(--fs-lead)/1 var(--font-body); letter-spacing: -.01em;
}
.footer__sr, .footer .kb__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.footer__roll { display: grid; line-height: 1.2em; overflow: hidden; } 
.footer__roll > span { grid-area: 1 / 1; }
.footer__roll > span + span { transform: translateY(100%); }
.footer__link:focus-visible .footer__roll > span + span { transform: none; }
@media (hover: hover) and (pointer: fine) { .footer__link:hover .footer__roll > span + span { transform: none; } }
.footer__roll > span { display: block; transition: transform .6s var(--ease-k); }
.footer__link:focus-visible { outline: 3px solid var(--text); outline-offset: 3px; border-radius: 4px; }
.footer__link:focus-visible .footer__roll > span { transform: translateY(-100%); }

.footer__mark {
  
  display: block; width: 100%; height: auto; overflow: visible; margin: clamp(40px, 6cqi, 88px) 0 calc(-.15 * 33cqi);
  user-select: none; pointer-events: none;
}

.footer__mark text { font-family: var(--font-display); font-weight: 500; font-size: 100px; letter-spacing: -3.5px; fill: var(--text); }
.footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin-top: clamp(16px, 2cqi, 28px); padding-top: 16px; border-top: 1px solid var(--beige-25); }
.footer__legal p { margin: 0; font: 300 var(--fs-body)/1.5 var(--font-body); color: var(--text-muted); }
.footer__plink { display: inline-flex; align-items: center; min-height: 44px; margin: -11px 0; color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; } 
.footer__plink:focus-visible { outline: 3px solid var(--text); outline-offset: 3px; border-radius: 4px; }
.footer__legal .footer__credit { font-size: var(--fs-small); color: var(--text-muted); }

.footer .kb {
  position: relative; display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0 24px;
  border: 0; border-radius: 999px; background: var(--surface); color: var(--cta-fg);
  font: 600 var(--fs-label)/1 var(--font-body); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; white-space: nowrap;
  transition: border-radius .6s var(--ease-k), background-color .3s, transform .12s;
}
.footer .kb__roll { display: block; height: 20px; line-height: 20px; overflow: hidden; }
.footer .kb__roll > span { display: block; transition: transform .6s var(--ease-k); }
.footer .kb__arr { flex: none; width: 20px; height: 20px; transition: transform .6s var(--ease-k); }
.footer .kb__tail { letter-spacing: .04em; }
.footer .kb:active { transform: scale(.97); }
.footer .kb:focus-visible { outline: 3px solid var(--text); outline-offset: 3px; border-radius: 12px; background: #fff; }
.footer .kb:focus-visible .kb__roll > span { transform: translateY(-100%); }
.footer .kb:focus-visible .kb__arr { transform: rotate(-45deg); }
@media (hover: hover) and (pointer: fine) {
  .footer .kb:hover { border-radius: 12px; background: #fff; }
  .footer .kb:hover .kb__roll > span, .footer__link:hover .footer__roll > span { transform: translateY(-100%); }
  .footer .kb:hover .kb__arr { transform: rotate(-45deg); }
}

@media (min-width: 48em) {
  .footer__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 64em) {
  .footer__top { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; align-items: end; }
}

@media (max-width: 767.98px) { .footer__legal { padding-bottom: calc(80px + env(safe-area-inset-bottom)); } }
@media (max-width: 63.99em), (prefers-reduced-motion: reduce) {
  .footer__panel { clip-path: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .footer__roll > span, .footer .kb, .footer .kb__roll > span, .footer .kb__arr { transition: none; }
  .footer :is(.kb, .footer__link):focus-visible :is(.kb__roll, .footer__roll) > span, .footer .kb:focus-visible .kb__arr { transform: none; }
@media (hover: hover) and (pointer: fine) { .footer :is(.kb, .footer__link):hover :is(.kb__roll, .footer__roll) > span, .footer .kb:hover .kb__arr { transform: none; } }
}

.footer__legal p, .footer__legal .footer__credit { font-weight: 400; }

.footer__mqhalf { font: 500 var(--fs-h2)/1 var(--font-display); }
.footer__link { font-size: var(--fs-h4); }

.footer__ctas .cta-talk { margin: 0; }

.footer__legal .footer__made { font-size: var(--fs-small); font-weight: 400; color: var(--text-muted); }
.footer__made a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; margin-block: -13px; }   
@media (hover: hover) and (pointer: fine) { .footer__made a:hover { text-decoration: underline; text-underline-offset: 3px; } }
.footer__made a:focus-visible { text-decoration: underline; text-underline-offset: 3px; outline: 3px solid var(--text); outline-offset: 3px; border-radius: 4px; }

.footer__legal .footer__made { color: var(--rx-white-56); margin-inline-start: auto; }

.footer__made a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
@media (hover: hover) and (pointer: fine) { .footer__made a:hover { color: var(--rx-gold); text-decoration-color: currentColor; transition: color .15s; } }
.footer__made a:focus-visible { outline: 2px solid var(--rx-gold); outline-offset: 3px; border-radius: 2px; }

.footer__credit > summary { display: flex; align-items: flex-start; gap: var(--sp-2); padding-block: calc((46px - 1lh) / 2); margin-block: calc((1lh - 46px) / 2); list-style: none; cursor: pointer; border-radius: 4px; }

html body #footer .footer__legal .footer__credit { margin: 0; min-width: 0; max-width: min(72ch, 100%); font-size: var(--fs-small) !important; line-height: var(--lh-small) !important; font-weight: 400; color: var(--text-muted); }      
.footer__credit > summary::-webkit-details-marker { display: none; }
.footer__credit > summary::marker { content: ""; }
.footer__credit > summary::after { content: "+"; flex: none; font: 400 1.25em/calc(var(--lh-small) / 1.25) var(--font-body); color: var(--text-muted); }   
.footer__credit[open] > summary::after { content: "\2212"; }
.footer__ctext { flex: 1 1 auto; min-width: 0; }
.footer__credit:not([open]) .footer__ctext { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.footer__credit > summary:focus-visible { outline: 3px solid var(--text); outline-offset: 3px; }

.footer__legal { row-gap: 20px; }

.footer__panel { background: var(--rx-ink); }
.footer__panel::before, .footer__panel::after, .footer__panel .rx-latlight, .footer__panel [data-lt] { display: none !important; }
html body .footer__q, html body .footer__t { color: #FFFFFF !important; }

html body .footer__ctas a.btn { font-weight: 600; }

html body #footer .footer__call{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;margin:0;font:400 var(--fs-body)/var(--lh-body) var(--font-body)}
html body #footer .footer__call .footer__q{color:rgb(255 255 255/.72)}
html body #footer .footer__call .footer__tq{color:#fff}
html body #footer .footer__call .footer__tel{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgb(255 255 255/.32);color:#fff}
html body #footer .footer__call .footer__ex{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}

.footer__panel { padding-top: clamp(20px, 12px + 1.2vw, 24px); padding-bottom: clamp(12px, 1.2vw, 16px); }
.footer__top { gap: 24px; }
.footer__cols { gap: 20px; }
.footer__legal { margin-top: clamp(8px, 1.2cqi, 16px); }
@media (min-width: 64em) { .footer__top { gap: 32px; } }

@media (max-width: 767.98px) { html body #footer .footer__more .footer__legal { padding-bottom: 16px; } }

.footer__link .ic--wa, .mnav__row .ic--wa { flex: none; stroke: none; fill: #128C7E; }
[data-ground="dark"] .footer__link .ic--wa { fill: #25D366; }
.footer__link .ic--wa { width: 20px; height: 20px; margin-inline-end: 8px; }
.mnav__row .ic--wa { width: 24px; height: 24px; margin-inline-end: 12px; }
.mnav__row > span { min-width: 0; }
.footer__link .ic--phone { width: 20px; height: 20px; flex: none; margin-inline-end: 8px; fill: none; stroke: currentColor; }
#footer .footer__link[data-cta="call"] { display: inline-grid; grid-template-columns: 20px max-content; column-gap: 8px; align-items: center; min-height: 44px; white-space: nowrap; }
#footer .footer__link[data-cta="call"] .ic--phone { grid-row: 1 / span 2; grid-column: 1; margin: 0; }
#footer .footer__link[data-cta="call"] .footer__tl { grid-column: 2; grid-row: 1; margin: 0; white-space: nowrap; font-weight: 400; line-height: var(--lh-body); letter-spacing: 0; }   
#footer .footer__link[data-cta="call"] .footer__roll { grid-column: 2; grid-row: 2; width: max-content; overflow: visible; clip-path: inset(0 -2px); white-space: nowrap; }
@media (min-width: 768px) { #footer .footer__link[data-cta="call"] { display: inline-flex; gap: 8px; } #footer .footer__link[data-cta="call"] .footer__tl { margin-inline-end: 4px; } }

#footer .footer__panel[data-footer-panel] { padding-top: 0; }
#footer .footer__panel .footer__more .footer__top { border-top: 1px solid color-mix(in srgb, var(--rx-gold) 55%, #03070D); padding-top: 40px; }

@media (max-width: 1279.98px) { #footer .footer__link[href^="tel:"] { flex-wrap: wrap; max-width: 100%; } }
