/* Incremental changes requested for the approved mobile layout only. */
/* Icons keep intrinsic dimensions while a rotation changes the responsive layer. */
.action-arrow { display:block;width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
.button-whatsapp { width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
.care-board-mark { display:block;width:32px;height:32px;flex:none;fill:none;stroke:#5c8681;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round; }
.location-pin { width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
.review-stars svg { width:20px;height:20px;fill:#e4c77f;stroke:#b18a3d;stroke-width:.8;filter:drop-shadow(0 1px 3px #d3ae5650); }
@media (max-width:599px) {
  :root { --mobile-support:15px; --mobile-heading:38px; }
  .hero { min-height:0; }
  .welcome { padding-top:12px; }
  .hero .portrait { top:-70px; }
  .hero .location { font-size:9.5px;letter-spacing:1.4px;line-height:1.5; }
  .hero .intro,.welcome .lede,.care-heading p,.new-section .n-intro { font-size:var(--mobile-support);line-height:1.7; }
  .hero .bottom { font-size:8.5px;line-height:1.5;letter-spacing:1.3px; }
  .copy h2,.care-heading h2,.new-section .n-title,.reviews-v2 .n-title,.location-v2 .n-title { font-size:var(--mobile-heading);line-height:1.1; }
  .hero .cta,.inline-appointment,.reviews-v2 .review-cta,.appointment-v2 .appointment-link,.location-v2 .location-link,.tv2-dialog .tv2-dialog-link,.al-menu-dialog .al-menu-whatsapp,.responde-section .responde-link {
    width:fit-content;min-width:min(265px,100%);max-width:100%;min-height:54px;
    margin-inline:auto;padding:14px 23px;gap:14px;justify-content:center;
    font-size:15px;line-height:1.4;letter-spacing:0;font-weight:500;
    box-shadow:0 9px 24px #1c26321c;
  }
  .reviews-v2 .review-cta,.location-v2 .location-link { max-width:calc(100% - 52px); }
  .hero .cta .button-label,.inline-appointment .button-label { font:inherit; }
  .bubble { width:min(278px,calc(100% - 50px));min-height:74px;font-size:14px;line-height:1.45;padding:12px 16px 12px 12px;gap:14px;box-shadow:0 12px 28px #1c263212,inset 0 0 0 1px #ffffffb8; }
  .bubble-icon { width:43px;height:43px; }
  .constellation { gap:15px; }
  .gallery figcaption { font-size:13.5px;line-height:1.45; }
  .gallery small { font-size:10px;letter-spacing:.9px; }
  .tv2-category,.person-copy small { font-size:11px; }
  .person-copy p { font-size:13px; }
  .person-copy .pending:empty { display:none; }
  .tv2-count { font-size:10px; }
  .care-steps li { min-height:150px;gap:22px;padding-right:22px; }
  .care-number { font-size:10px;letter-spacing:1px;line-height:1.5; }
  .care-steps h3 { font-size:25px;line-height:1.2; }
  .care-steps p { font-size:14px;line-height:1.65; }
  .care-steps p br { display:none; }
  .care-priorities { margin-top:18px;padding:23px 20px 14px;border-radius:23px;border-color:#c7dcd4;background:linear-gradient(135deg,#ffffffed,#edf5efc4);box-shadow:0 12px 28px #325b5b0c; }
  .care-priorities::before { content:'';position:absolute;left:41px;top:-30px;width:1px;height:29px;background:linear-gradient(transparent,#8abab7); }
  .care-priorities-title { gap:12px; }
  .care-priorities h3 { font-size:20px;line-height:1.3; }
  .care-priorities-intro { margin:14px 0 0;color:#48545c;font-size:var(--mobile-support);line-height:1.75; }
  .care-priorities li { font-size:13px;gap:13px;padding:14px 0; }
  .care-priorities li span { display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;border:1px solid #8abab748;background:#ffffffb8;font-size:10px; }
  .team-cta .inline-appointment { gap:11px; }
  .reviews-v2 .google-mark { width:32px;height:32px; }
  .reviews-v2 .review-quote p { font-size:17px;line-height:1.6; }
  .reviews-v2 .review-bottom small { font-size:14px;line-height:1.45;font-weight:600;letter-spacing:0; }
  .reviews-v2 .review-stars { display:inline-flex;align-items:center;gap:3px;padding:8px 9px;border:1px solid #d3b66a54;border-radius:18px;background:#ffeedb5e;box-shadow:0 3px 16px #dfbf712b;line-height:1; }
  .reviews-v2 .review-bottom { gap:10px;flex-wrap:wrap; }
  main#conteudo > .responde-section { padding:0 0 42px; }
  .responde-kicker { display:flex;align-items:center;gap:12px;margin-bottom:22px; }
  .responde-mark { display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid #8abab73d;border-radius:14px;background:linear-gradient(135deg,#ffffffb8,#8abab71a);box-shadow:0 6px 18px #325b5b09; }
  .responde-mark svg { width:27px;height:27px;fill:none;stroke:#325b5b;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round; }
  .responde-section .n-intro { margin:20px 0 26px;color:#48545c; }
  .responde-section .responde-link { min-width:0;background:#f8fbf7e6;color:#1c2632;border:1px solid #8abab7; }
  .responde-section .responde-link:hover { background:#f8fbf7; }
  .responde-section .responde-link:focus-visible { outline:2px solid #325b5b;outline-offset:4px; }
  .location-v2 .place-address { position:relative;margin-top:26px;padding:18px 19px;border:1px solid #8abab752;border-radius:18px;background:#ffffff08;color:#fff4e6;font-size:15px;line-height:1.65;box-shadow:0 8px 24px #101c2115; }
  .location-v2 .place-address::before { content:'';position:absolute;top:19px;bottom:19px;left:0;width:2px;border-radius:2px;background:#9bc8c3; }
  .location-v2 .place-icon .parking-brazil { width:31px;height:31px; }
  .n-footer { padding:8px 26px 14px; }
  .n-footer .footer-top { display:grid;grid-template-columns:minmax(80px,1fr) auto 36px;gap:6px;padding-top:12px; }
  .footer-top img { display:block;width:min(96px,100%); }
  .n-footer>p,.n-footer .footer-links { display:none; }
  .n-footer .footer-appointment { display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:0 13px;border:1px solid #8abab74d;border-radius:999px;background:#1c2632;color:#fff7ed;font-size:12px;line-height:1.2;white-space:nowrap; }
  .footer-appointment .button-whatsapp { width:16px;height:16px;stroke-width:1.6; }
  .n-footer .footer-appointment:focus-visible { outline:2px solid #a9d0cb;outline-offset:3px; }
  .n-footer .footer-meta { margin-top:10px; }
  .footer-meta { gap:3px;font-size:8px;line-height:1.5; }
  .footer-top a:last-child { width:36px;height:36px; }
  html[data-motion="full"] .al-bottom-nav { transition:transform .52s cubic-bezier(.2,.9,.25,1.14); }
  html[data-motion="full"] .al-bottom-nav::before { transition:transform .52s cubic-bezier(.2,.9,.25,1.14),opacity .28s ease,border-radius .52s ease; }
  /* A final invitation, using the existing brand symbol and the existing CTA. */
  main#conteudo>.appointment-v2 { padding-bottom:54px; }
  .closing-invitation { margin:29px 26px 30px;padding:23px 0 25px;border-top:1px solid #aacdc532;border-bottom:1px solid #aacdc532;position:relative; }
  .closing-seal { position:relative;display:grid;place-items:center;width:66px;height:66px;margin:0 0 25px;border-radius:50%;background:#8abab710;border:1px solid #a9cfc72f; }
  .closing-seal img { width:37px;height:37px;filter:brightness(0) saturate(100%) invert(84%) sepia(11%) saturate(532%) hue-rotate(115deg); }
  .closing-seal::before,.closing-seal::after { content:'';position:absolute;inset:-7px;border:1px solid #a9cfc724;border-radius:50%; }
  .closing-seal::after { inset:-14px;border-color:#a9cfc713; }
  .closing-invitation h3 { margin:0 0 14px;font:400 27px/1.2 Georgia,serif;letter-spacing:-.6px;color:#ffeedb; }
  .closing-invitation p { margin:0;max-width:320px;color:#d5e4de;font-size:var(--mobile-support);line-height:1.75; }
  .mobile-enter { opacity:1;translate:0 0;scale:1;filter:none; }
  html.mobile-motion .mobile-enter { opacity:0;translate:0 17px;scale:.975;filter:blur(4px);transition:opacity 680ms ease,translate 780ms cubic-bezier(.2,.75,.2,1),scale 780ms cubic-bezier(.2,.75,.2,1),filter 650ms ease;transition-delay:var(--enter-delay,0ms); }
  html.mobile-motion .mobile-enter.is-visible { opacity:1;translate:0 0;scale:1;filter:blur(0); }
  html.mobile-motion .bubble.mobile-enter { translate:0 -18px;scale:.985; }
  html.mobile-motion .bubble.mobile-enter.is-visible { translate:0 0;scale:1; }
  .mobile-word { display:inline-block; }
  /* Inline-block reveal words need their own decoration; the parent only underlines spaces. */
  .copy h2.mobile-writing em { text-decoration:none; }
  .copy h2.mobile-writing em .mobile-word { text-decoration:underline;text-decoration-color:#8abab74d;text-decoration-thickness:2px;text-underline-offset:5px; }
  html.mobile-motion .mobile-writing .mobile-word { opacity:0;translate:0 5px;filter:blur(5px);transition:opacity 460ms ease,translate 600ms cubic-bezier(.2,.75,.2,1),filter 600ms ease;transition-delay:calc(var(--word-index,0)*33.6ms); }
  html.mobile-motion .mobile-writing.is-visible .mobile-word { opacity:1;translate:0 0;filter:blur(0); }
  html.mobile-motion .closing-seal::before { animation:closing-breathe 7s ease-in-out infinite; }
  @keyframes closing-breathe { 50% { transform:scale(1.08);opacity:.45; } }
}
@media(max-width:360px) {
  :root { --mobile-support:14px; --mobile-heading:34px; }
  .hero .portrait { top:-65px; }
  .hero .location { font-size:8.5px;letter-spacing:1.1px; }
  .bubble { width:calc(100% - 62px);font-size:13px; }
  .bubble:nth-child(odd) { left:-15px; }
  .bubble:nth-child(even) { left:15px; }
  .care-steps li { gap:18px;padding-left:24px;padding-right:18px; }
  .care-steps h3 { font-size:24px; }
  .care-number { font-size:9px; }
  .care-steps p { font-size:13.5px; }
  .gallery figcaption { font-size:12.5px; }
  .person-copy p { font-size:12px; }
  .reviews-v2 .review-bottom { align-items:flex-start; }
  .reviews-v2 .review-stars { gap:2px;padding-inline:7px; }
  .review-stars svg { width:18px;height:18px; }
  .hero .cta,.inline-appointment,.reviews-v2 .review-cta,.appointment-v2 .appointment-link,.location-v2 .location-link,.tv2-dialog .tv2-dialog-link,.al-menu-dialog .al-menu-whatsapp,.responde-section .responde-link { min-width:min(250px,100%);font-size:14.5px;padding-inline:20px; }
  .closing-invitation { margin-inline:22px; }
  .n-footer { padding-inline:22px; }
}
