:root { font: 16px/1.55 system-ui,sans-serif; color: #213c34; background: #f6f6ef; }
* { box-sizing: border-box; }
body { margin: 0; }
header, footer { padding: 1.3rem 6vw; background: #123e34; color: white; }
header, nav, .barra { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
header { justify-content: space-between; }
header a { color: white; text-decoration: none; }
.marca { font-size: 1.55rem; font-weight: 750; }
main { max-width: 1240px; margin: auto; padding: 3rem 5vw; min-height: 78vh; }
h1 { font: 500 clamp(2.4rem,6vw,5rem)/1.04 Georgia,serif; margin: .5em 0; }
h2 { font: 500 1.65rem Georgia,serif; }
.hero { background: repeating-radial-gradient(ellipse at 125% 110%, transparent 0 18px,#427966 19px 20px,transparent 21px 38px), #194f40; color: white; border-radius: 18px; padding: clamp(2rem,6vw,5rem); }
.hero p { max-width: 490px; }
.linha { text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; font-weight: 700; }
button, .botao { border: 0; border-radius: .45rem; background: #d3e995; color: #193d32; font: inherit; font-weight: 650; padding: .65rem 1rem; cursor: pointer; display: inline-block; text-decoration: none; }
.cartao, .formulario { padding: 1.5rem; border: 1px solid #cfdbce; background: white; margin: 1rem 0; border-radius: 12px; }
.formulario { max-width: 32rem; margin: auto; }
label { display: block; margin: .6rem 0; }
input:not([type=checkbox]), select { display: block; font: inherit; padding: .5rem; border: 1px solid #9fab9c; border-radius: .4rem; max-width: 100%; }
.rolagem { overflow: auto; }
table { width: 100%; border-collapse: collapse; background: white; }
th, td { text-align: left; padding: .8rem; border-bottom: 1px solid #d9e0d8; }
th { background: #e4ebdf; }
a { color: #146653; }
canvas { width: min(100%,720px); background: #eaf0e5; border-radius: .6rem; }
@media print { header,footer,button {display:none;} main {padding:0;} }
