@page { size: A5 portrait; margin: 0; }
* { box-sizing: border-box; }
body { margin: 0; background: #ded8d2; color: #332622; font-family: Georgia, 'Times New Roman', serif; }
.flyer { width: 148mm; min-height: 210mm; margin: 0 auto; padding: 8.5mm 9mm 7mm; background: #fffaf3; overflow: hidden; }
.topo { display: grid; grid-template-columns: 14mm 1fr auto; align-items: center; gap: 3.5mm; padding-bottom: 4mm; border-bottom: .45mm solid #c7a46a; }
.logo { width: 13mm; height: 13mm; object-fit: contain; }
.marca strong { display: block; color: #5b4035; font-size: 14pt; letter-spacing: -.25px; }
.marca span, .cidade { color: #8b6a40; font: 700 6.4pt/1.2 Arial, sans-serif; letter-spacing: .8px; }
.cidade { text-align: right; }
.selo { margin: 0 0 2.3mm; color: #9b7336; font: 700 6.7pt/1.2 Arial, sans-serif; letter-spacing: 1.1px; }
.abertura { padding: 5mm 0 4mm; }
h1 { max-width: 118mm; margin: 0; color: #4e372e; font-size: 20pt; line-height: 1.05; letter-spacing: -.5px; }
.destaque { max-width: 118mm; margin: 3mm 0 0; color: #57433b; font-size: 9.3pt; line-height: 1.38; }
h2 { margin: 0; color: #543b30; font-size: 12pt; line-height: 1.13; }
.sinais { padding: 4mm; background: #f0e4d4; border-left: 1.5mm solid #b5894f; }
.lista-sinais { display: grid; grid-template-columns: 1fr 1fr; gap: 2mm 3.5mm; margin-top: 3mm; }
.lista-sinais p { position: relative; margin: 0; padding-left: 3.5mm; font-size: 8pt; line-height: 1.28; }
.lista-sinais p::before { content: '•'; position: absolute; left: 0; color: #a27332; font-size: 13pt; line-height: .6; }
.nota { margin: 2.5mm 0 0; color: #705e56; font: italic 6.9pt/1.27 Arial, sans-serif; }
.caminho { padding: 4.4mm 0 3.8mm; }
.servicos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.2mm; margin-top: 3mm; }
.servicos article { min-height: 31mm; padding: 2.5mm; border: .35mm solid #dbc59e; background: #fffdf9; }
.servicos span { display: block; margin-bottom: 1.3mm; color: #af8143; font: 700 7.5pt Arial, sans-serif; }
.servicos strong { color: #563b2f; font-size: 8.3pt; line-height: 1.1; }
.servicos p { margin: 1.3mm 0 0; color: #594d47; font-size: 6.9pt; line-height: 1.25; }
.convite { display: grid; grid-template-columns: 1fr 29mm; gap: 4mm; align-items: center; padding: 4.5mm; color: #fffaf3; background: #5b4035; }
.convite h2 { color: #fffaf3; font-size: 12.5pt; }
.convite .selo { color: #e5c184; }
.convite p:not(.selo):not(.contato) { margin: 2mm 0; font-size: 7.5pt; line-height: 1.28; }
.contato { margin: 2.5mm 0 0; font: 700 8.1pt/1.35 Arial, sans-serif; }
.contato a { color: #fffaf3; text-decoration: none; }
.qrcode { display: block; color: #fffaf3; text-align: center; text-decoration: none; font: 5.6pt/1.25 Arial, sans-serif; }
.qrcode img { display: block; width: 28mm; height: 28mm; margin: 0 auto 1.1mm; padding: 1mm; background: #fffaf3; }
footer { display: grid; grid-template-columns: 14mm 1fr; gap: 2.6mm; align-items: center; padding: 3.3mm 0 0; }
.foto { width: 13mm; height: 13mm; border-radius: 50%; object-fit: cover; object-position: 50% 18%; border: .5mm solid #c59b62; }
footer p { margin: 0; color: #604a3d; font-size: 6.5pt; line-height: 1.25; }
.rodape { grid-column: 1 / -1; padding-top: 1.8mm; border-top: .25mm solid #ded1c1; color: #88766a; font: 5.5pt/1.2 Arial, sans-serif; }
@media screen { .flyer { box-shadow: 0 4mm 14mm rgba(58,40,29,.16); } }
@media (max-width: 600px) { .flyer { transform-origin: top center; } }
@media print { body { background: none; } .flyer { box-shadow: none; } }
