/* Casa de Repouso Amor Infinito – estilos */
:root{
  --vinho:#6E1F3B; --vinho-2:#561630; --vinho-3:#3F0F22;
  --blush:#F3D3CE; --rose:#E4A29B; --rose-ink:#9C3F52;
  --cream:#FBF5EF; --paper:#FFFDFB; --ink:#2D1A20; --muted:#6B5359; --line:#EAD9D3;
  --serif:'DM Serif Display',Georgia,serif; --sans:'Nunito Sans','Helvetica Neue',Helvetica,sans-serif;
  --logo:'Allura',cursive; --hand:'Caveat',cursive;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--rose);outline-offset:3px;border-radius:6px}
.wrap{width:min(1200px,100% - 44px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;border-radius:99px;font-family:var(--sans);font-weight:700;font-size:16px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .25s ease,color .25s ease,transform .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:20px;height:20px;flex-shrink:0}
.btn-blush{background:var(--blush);color:var(--vinho-3)}
.btn-blush:hover{background:#fff}
.btn-ghost{border-color:rgba(251,245,239,.55);color:var(--cream)}
.btn-ghost:hover{background:rgba(251,245,239,.1)}
.btn-vinho{background:var(--vinho);color:#fff}
.btn-vinho:hover{background:var(--vinho-2)}

/* barra superior */
.topbar{background:var(--vinho-3);color:#EBD3D8;font-size:14px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:42px;flex-wrap:wrap}
.topbar a{text-decoration:none}
.topbar a:hover{color:#fff}
.tb-left,.tb-right{display:flex;align-items:center;gap:22px}
.tb-left span,.tb-left a,.tb-right a{display:inline-flex;align-items:center;gap:7px}
.topbar svg{width:15px;height:15px}

/* cabeçalho */
header.site{position:sticky;top:0;z-index:30;background:rgba(251,245,239,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.head{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:86px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--vinho)}
.logo svg{width:50px;height:50px;flex-shrink:0}
.logo-name{display:block;font-family:var(--logo);font-size:40px;line-height:.9;color:var(--vinho)}
.logo-sub{display:block;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--muted);margin-top:4px;padding-left:3px}
.menu{display:flex;gap:24px;font-size:15.5px;font-weight:600;white-space:nowrap}
.head .btn{white-space:nowrap}
.menu a{text-decoration:none}
.menu a:hover{color:var(--rose-ink)}

/* hero */
.hero{background:var(--vinho);color:var(--cream);position:relative;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;z-index:-1;width:760px;height:760px;right:-180px;top:-200px;border-radius:50%;border:1px solid rgba(243,211,206,.18)}
.hero::after{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-60px;top:-80px;border-radius:50%;border:1px solid rgba(243,211,206,.12)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:90px 0 110px}
.hero h1{margin:0 0 26px;font-weight:400}
.hero h1 .small{display:block;font-family:var(--sans);font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin-bottom:20px}
.hero h1 .big{display:block;font-family:var(--serif);font-size:clamp(2.9rem,5.6vw,4.9rem);line-height:1.02;letter-spacing:-.01em}
.hero h1 .big em{font-style:italic;color:var(--blush)}
.hero .lead{font-size:19px;color:#EBD3D8;max-width:31em;margin:0 0 34px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:38px}
.hero-proof{display:flex;align-items:center;gap:14px;font-size:15px;color:#EBD3D8}
.stars{display:inline-flex;gap:2px;color:#F2B84B}
.stars svg{width:18px;height:18px}

.stack{position:relative;height:560px}
.polaroid{position:absolute;margin:0;background:var(--paper);padding:12px 12px 0;box-shadow:0 28px 50px rgba(30,6,15,.35);border-radius:4px}
.polaroid img{width:100%;height:calc(100% - 52px);object-fit:cover;border-radius:2px}
.polaroid figcaption{font-family:var(--hand);font-size:24px;color:var(--ink);text-align:center;line-height:52px;height:52px}
.p1{width:62%;height:440px;left:0;top:30px;transform:rotate(-4deg)}
.p2{width:52%;height:320px;right:0;bottom:0;transform:rotate(3.5deg)}
.tape{position:absolute;top:-14px;left:50%;width:110px;height:30px;transform:translateX(-50%) rotate(-3deg);background:rgba(243,211,206,.85)}
.badge{position:absolute;right:10%;top:0;width:128px;height:128px;border-radius:50%;background:var(--blush);color:var(--vinho-3);display:grid;place-items:center;text-align:center;font-size:13px;font-weight:700;line-height:1.3;transform:rotate(8deg);box-shadow:0 14px 30px rgba(30,6,15,.3);z-index:3}
.badge span{display:block;font-family:var(--logo);font-size:34px;font-weight:400;line-height:1;margin-bottom:2px}

/* faixa de valores */
.ribbon{background:var(--blush);color:var(--vinho-3);overflow:hidden;border-block:1px solid #E8BEB8}
.ribbon-track{display:flex;width:max-content;gap:0;padding:18px 0;animation:slide 40s linear infinite}
.ribbon-track span{font-family:var(--serif);font-size:28px;padding:0 26px;white-space:nowrap;display:flex;align-items:center;gap:52px}
.ribbon-track span::after{content:"∞";font-family:var(--sans);font-size:24px;color:var(--rose-ink)}
@keyframes slide{to{transform:translateX(-50%)}}

/* seções */
.sec{padding:120px 0}
.kicker{display:inline-block;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-ink);margin-bottom:16px}
.h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,4.2vw,3.5rem);line-height:1.08;margin:0;color:var(--ink)}
.h2 em{font-style:italic;color:var(--vinho)}

/* sobre */
.about{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:center}
.about-photo{position:relative}
.about-photo img{width:100%;aspect-ratio:4/4.6;object-fit:cover;border-radius:220px 220px 20px 20px}
.about-photo .note{position:absolute;left:-26px;bottom:40px;background:var(--paper);padding:18px 22px;border-radius:14px;box-shadow:0 20px 40px rgba(45,26,32,.14);max-width:250px;font-family:var(--hand);font-size:24px;line-height:1.2;color:var(--vinho);transform:rotate(-2deg)}
.about-text .h2{margin-bottom:26px}
.about-text p{margin:0 0 20px;color:var(--muted)}
.about-text p.first{font-size:21px;color:var(--ink);line-height:1.6}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:34px;border-top:1px solid var(--line)}
.facts div{padding:20px 16px 0 0}
.facts strong{display:block;font-family:var(--serif);font-weight:400;font-size:22px;color:var(--vinho);line-height:1.2}
.facts span{font-size:15px;color:var(--muted)}

/* cuidados */
.care{background:linear-gradient(180deg,#F7E9E4 0%,var(--cream) 100%);border-block:1px solid var(--line)}
.care-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:56px}
.care-head p{margin:0;color:#5B444A}
.care-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.care-item{position:relative;background:#fff;border:1px solid #EFDCD6;border-radius:24px;padding:34px 32px 36px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 2px rgba(45,26,32,.04),0 14px 34px rgba(110,31,59,.07);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.care-item::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--vinho),var(--rose));transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.care-item:hover{transform:translateY(-4px);border-color:#E4C3BC;box-shadow:0 2px 4px rgba(45,26,32,.05),0 24px 48px rgba(110,31,59,.13)}
.care-item:hover::before{transform:scaleX(1)}
.care-item svg{width:62px;height:62px;padding:15px;border-radius:50%;background:var(--blush);color:var(--vinho);stroke-width:1.7;margin-bottom:10px;transition:background .3s ease,color .3s ease}
.care-item:hover svg{background:var(--vinho);color:#fff}
.care-item h3{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.2;margin:0;color:var(--ink)}
.care-item p{margin:0;font-size:16.5px;line-height:1.65;color:#5B444A}

/* equipe */
.team{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
.team-text .h2{margin-bottom:26px}
.team-text p{margin:0 0 20px;color:var(--muted)}
.team-text p.first{font-size:21px;color:var(--ink);line-height:1.6}
.team-list{display:grid;grid-template-columns:1fr 1fr;margin-top:34px;border-top:1px solid var(--line)}
.team-item{padding:26px 26px 28px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.team-item:nth-child(odd){border-right:1px solid var(--line)}
.team-item:nth-child(even){padding-left:26px;padding-right:0}
.team-item svg{width:34px;height:34px;color:var(--vinho)}
.team-item h3{font-family:var(--serif);font-weight:400;font-size:23px;line-height:1.2;margin:4px 0 0}
.team-item p{margin:0;font-size:15.5px;color:var(--muted)}
.team-photo img{object-position:center 20%}
.team-photo{margin-bottom:60px}
.team-photo .note{left:auto;right:-26px;bottom:auto;top:46px;transform:rotate(2deg)}
.team-snap{position:absolute;left:-44px;bottom:-60px;width:50%;height:auto;transform:rotate(-3deg);z-index:2}
.team-snap img{height:auto;aspect-ratio:1/1;object-position:center 32%;border-radius:2px}
.team-snap figcaption{font-size:21px;white-space:nowrap}

/* ambulância */
.ambu{background:var(--vinho);color:var(--cream);position:relative;overflow:hidden;isolation:isolate}
.ambu::before{content:"";position:absolute;z-index:-1;width:640px;height:640px;left:-220px;bottom:-260px;border-radius:50%;border:1px solid rgba(243,211,206,.16)}
.ambu .kicker{color:var(--rose)}
.ambu .h2{color:var(--cream);margin-bottom:26px}
.ambu .h2 em{color:var(--blush)}
.ambu-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:center}
.ambu-text p{margin:0 0 20px;color:#EBD3D8}
.ambu-text p.first{font-size:21px;color:var(--cream);line-height:1.6}
.ambu-points{list-style:none;margin:34px 0 0;padding:0;border-top:1px solid rgba(243,211,206,.2)}
.ambu-points li{display:flex;gap:18px;align-items:flex-start;padding:20px 0;border-bottom:1px solid rgba(243,211,206,.2);font-size:16px;color:#EBD3D8}
.ambu-points svg{width:30px;height:30px;color:var(--blush);flex-shrink:0;margin-top:2px}
.ambu-points strong{display:block;font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.25;color:#fff}
.ambu-photo{position:relative;width:100%;max-width:440px;justify-self:center;transform:rotate(2.5deg)}
.ambu-photo img{height:auto;aspect-ratio:4/5;object-position:center 45%}

/* galeria */
.life-head{text-align:center;max-width:680px;margin:0 auto 70px}
.life-head p{margin:18px 0 0;color:var(--muted)}
.board{display:grid;grid-template-columns:repeat(12,1fr);gap:28px;align-items:start}
.snap{position:relative;margin:0;background:var(--paper);padding:14px 14px 0;box-shadow:0 18px 40px rgba(45,26,32,.12);border-radius:4px;transition:transform .35s ease}
.snap:hover{transform:rotate(0deg) scale(1.02) !important}
.snap img{width:100%;object-fit:cover;border-radius:2px}
.snap figcaption{font-family:var(--hand);font-size:23px;line-height:1.25;color:var(--ink);padding:14px 6px 18px;text-align:center}
.s1{grid-column:1/8;transform:rotate(-1.5deg)}
.s1 img{aspect-ratio:4/3}
.s2{grid-column:8/13;transform:rotate(2deg);margin-top:40px}
.s2 img{aspect-ratio:4/5}
.s3{grid-column:1/6;transform:rotate(1.5deg);margin-top:-30px}
.s3 img{aspect-ratio:4/5}
.s4{grid-column:6/13;transform:rotate(-1deg);margin-top:30px}
.s4 img{aspect-ratio:16/10}
.s5{grid-column:3/11;transform:rotate(1deg);margin-top:20px}
.s5 img{aspect-ratio:16/10}
.snap .tape{width:96px;height:26px}

/* depoimentos */
.voices{background:var(--vinho-2);color:var(--cream);position:relative;overflow:hidden}
.voices .kicker{color:var(--rose)}
.voices .h2{color:var(--cream)}
.voices .h2 em{color:var(--blush)}
.voices-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:56px}
.voices-top a{color:var(--blush);font-weight:700;text-underline-offset:4px}
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.q{margin:0;padding:36px 38px;border-radius:24px;background:rgba(251,245,239,.06);border:1px solid rgba(243,211,206,.18);display:flex;flex-direction:column;gap:18px}
.q:nth-child(1){background:var(--blush);color:var(--vinho-3);border-color:var(--blush)}
.q blockquote{margin:0;font-family:var(--serif);font-size:24px;line-height:1.4}
.q:nth-child(1) blockquote{font-size:clamp(1.6rem,2.6vw,2.1rem)}
.q figcaption{display:flex;align-items:center;gap:12px;font-size:15px}
.q figcaption strong{display:block;font-size:16px}
.av{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--rose);color:var(--vinho-3);flex-shrink:0}
.q:nth-child(1) .av{background:var(--vinho);color:var(--blush)}

/* famílias / faq */
.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.faq-grid .intro p{color:var(--muted);margin:22px 0 30px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 2px;font-family:var(--serif);font-size:23px;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0;transition:transform .25s ease,background .25s ease}
.faq summary .pm svg{width:16px;height:16px}
.faq details[open] .pm{transform:rotate(45deg);background:var(--blush);border-color:var(--blush)}
.faq details p{margin:0 0 24px;color:var(--muted);max-width:36em}

/* chamada */
.visit{padding:0 0 110px}
.visit-card{background:var(--blush);border-radius:36px;padding:70px;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;position:relative;overflow:hidden}
.visit-card::after{content:"∞";position:absolute;right:-20px;bottom:-120px;font-size:420px;line-height:1;color:rgba(110,31,59,.07);font-family:var(--serif);pointer-events:none}
.visit-card .h2{color:var(--vinho-3)}
.visit-card p{color:#5B3A44;margin:18px 0 30px}
.visit-actions{display:flex;flex-wrap:wrap;gap:12px}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:22px;position:relative;z-index:1}
.contact-list li{display:flex;gap:16px;align-items:flex-start}
.contact-list .ic{width:48px;height:48px;border-radius:50%;background:var(--paper);display:grid;place-items:center;color:var(--vinho);flex-shrink:0}
.contact-list .ic svg{width:22px;height:22px}
.contact-list small{display:block;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rose-ink)}
.contact-list a{text-decoration:none;font-weight:600}
.contact-list a:hover{text-decoration:underline}

/* mapa */
.map{width:100%;height:480px;border:0;display:block;filter:saturate(.9)}
.map-wrap{position:relative;background:var(--line)}

/* rodapé */
footer{background:var(--vinho-3);color:#D9BFC6;padding:70px 0 30px;font-size:16px}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;padding-bottom:40px;border-bottom:1px solid rgba(243,211,206,.18)}
footer .logo,footer .logo-name{color:var(--blush)}
footer .logo-sub{color:#C9A9B1}
footer h2{font-family:var(--serif);font-weight:400;font-size:21px;color:#fff;margin:0 0 16px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
footer a{text-decoration:none}
footer a:hover{color:#fff}
.social{display:flex;gap:10px;margin-top:22px}
.social a{width:46px;height:46px;border-radius:50%;border:1px solid rgba(243,211,206,.3);display:grid;place-items:center}
.social a:hover{background:rgba(243,211,206,.12)}
.social svg{width:20px;height:20px}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:24px;font-size:14px;color:#B899A1}

.foot-legal{color:inherit;text-decoration:underline;text-decoration-color:rgba(243,211,206,.3);text-underline-offset:3px}
.foot-legal:hover{color:#fff}

/* popup de saída */
.exit{padding:0;border:0;border-radius:28px;background:var(--paper);color:var(--ink);width:min(820px,calc(100% - 32px));max-width:none;overflow:hidden;box-shadow:0 40px 80px rgba(30,6,15,.35)}
.exit[open]{display:grid;grid-template-columns:.85fr 1.15fr;animation:exit-in .35s ease}
.exit::backdrop{background:rgba(45,26,32,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
@keyframes exit-in{from{opacity:0;transform:translateY(16px) scale(.98)}}
.exit-photo img{width:100%;height:100%;object-fit:cover}
.exit-body{padding:52px 48px 40px}
.exit .h2{font-size:clamp(2rem,3.4vw,2.6rem);margin-bottom:16px}
.exit-body p{margin:0 0 28px;color:var(--muted);font-size:17px}
.exit-actions{display:flex;flex-direction:column;gap:10px}
.exit-call{border-color:var(--vinho);color:var(--vinho)}
.exit-later{margin-top:16px;background:none;border:0;padding:6px;font:inherit;font-size:15px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.exit-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);display:grid;place-items:center;cursor:pointer;z-index:1}
.exit-close svg{width:18px;height:18px}
@media (max-width:720px){.exit[open]{grid-template-columns:1fr}.exit-photo{display:none}.exit-body{padding:44px 26px 28px}}

/* política de privacidade */
.legal{max-width:780px;margin-inline:auto;padding:90px 0 110px}
.legal .h2{margin-bottom:14px}
.legal .updated{color:var(--muted);font-size:15px;margin:0 0 44px}
.legal h2.lh{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.25;margin:44px 0 12px;color:var(--vinho)}
.legal p,.legal li{color:var(--muted)}
.legal p{margin:0 0 16px}
.legal ul{margin:0 0 16px;padding-left:22px}
.legal li{margin-bottom:8px}
.legal strong{color:var(--ink)}
.legal a{color:var(--vinho);text-underline-offset:3px}
.back{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;text-decoration:none;color:var(--vinho)}
.back svg{width:18px;height:18px}

/* barra de ação no celular */
.mbar{display:none}
.wa-float{position:fixed;right:20px;bottom:20px;z-index:40;width:62px;height:62px;border-radius:50%;background:#25A35A;color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px rgba(0,0,0,.25)}
.wa-float svg{width:30px;height:30px}

@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}html{scroll-behavior:auto}}

@media (max-width:1240px){
  .menu{gap:16px;font-size:14.5px}
  .menu .m-opt{display:none}
}
@media (max-width:1060px){
  .menu{display:none}
  .hero-grid{grid-template-columns:1fr;gap:40px;padding:60px 0 90px}
  .stack{height:520px;max-width:620px;width:100%;margin-inline:auto}
  .about,.faq-grid,.care-head,.visit-card,.ambu-grid,.team{grid-template-columns:1fr;gap:44px}
  .ambu-photo{max-width:420px}
  .team-photo{max-width:520px;width:100%;margin-inline:auto}
  .care-list{grid-template-columns:1fr 1fr;gap:18px}
  .foot{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  body{font-size:17px;padding-bottom:76px}
  .tb-left span.addr{display:none}
  .tb-right{display:none}
  .head{min-height:72px}
  .logo svg{width:40px;height:40px}
  .logo-name{font-size:32px}
  .head .btn{display:none}
  .hero-grid{padding:44px 0 70px}
  .hero .lead{font-size:17.5px}
  .hero-actions .btn{flex:1 1 100%}
  .stack{height:auto;display:grid;gap:22px}
  .polaroid{position:relative;width:100%;left:auto;right:auto;top:auto;bottom:auto}
  .p1{height:380px;transform:rotate(-2deg)}
  .p2{height:300px;transform:rotate(2deg);width:88%;justify-self:end}
  .badge{width:104px;height:104px;font-size:11.5px;right:2%;top:-18px}
  .badge span{font-size:28px}
  .ribbon-track span{font-size:22px;padding:0 18px;gap:36px}
  .sec{padding:84px 0}
  .about-photo .note{left:10px;bottom:16px;font-size:21px}
  .facts{grid-template-columns:1fr;gap:4px}
  .ambu-text p.first,.team-text p.first{font-size:19px}
  .team-list{grid-template-columns:1fr}
  .team-item,.team-item:nth-child(odd),.team-item:nth-child(even){padding:22px 0;border-right:0}
  .team-photo .note{left:auto;bottom:auto;right:-4px;top:-18px;font-size:20px;max-width:200px}
  .team-snap{position:absolute;left:-6px;bottom:-50px;width:56%}
  .team-snap figcaption{font-size:17px}
  .ambu-photo{max-width:340px;transform:rotate(1.5deg)}
  .facts div{padding:14px 0 0}
  .care-list{grid-template-columns:1fr;gap:14px}
  .care-item{padding:28px 24px 30px;border-radius:20px}
  .board{grid-template-columns:1fr;gap:34px}
  .s1,.s2,.s3,.s4,.s5{grid-column:auto;margin-top:0}
  .quotes{grid-template-columns:1fr}
  .q{padding:28px 26px}
  .faq summary{font-size:20px}
  .visit-card{padding:44px 26px;border-radius:26px}
  .visit-actions .btn{flex:1 1 100%}
  .map{height:380px}
  .foot{grid-template-columns:1fr}
  .wa-float{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(251,245,239,.97);border-top:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
  .mbar .btn{min-height:52px;padding:0 12px}
}
