@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Montserrat:wght@400;500;600;700&display=swap');

:root{--fundo:#F1F5F4;--papel:#FFFFFF;--tinta:#16211D;--titulo:#13294B;--accent:#1F8A70;--accent-suave:#DCEFEA;--linha:#DCE3E0;--cinza:#5B6864;--erro:#9B4639}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--fundo);color:var(--tinta);font-family:Montserrat,system-ui,-apple-system,sans-serif;line-height:1.65}
.page{max-width:1080px;margin:0 auto;padding:0 24px 72px}
.hero{position:relative;padding:76px 0 48px;min-height:380px;display:flex;flex-direction:column;justify-content:center}
.brand{font-size:.78rem;letter-spacing:.18em;font-weight:700;color:var(--accent);margin-bottom:18px}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;color:var(--titulo)}
.hero-title-wrap{position:relative;max-width:980px;min-height:230px;display:flex;align-items:flex-start;padding-top:8px;isolation:isolate}
.hero-mark{position:absolute;right:10px;top:-6px;width:280px;max-width:32vw;opacity:.16;pointer-events:none;z-index:0;mix-blend-mode:multiply}
h1{position:relative;z-index:1;margin:0 0 18px;font-size:clamp(2.7rem,6.4vw,5rem);line-height:.98;max-width:840px;letter-spacing:-.02em;font-weight:600}
.lead{font-size:1.16rem;max-width:700px;margin:0 0 10px}.sublead{max-width:700px;margin:0 0 4px;color:var(--cinza)}
.card{background:var(--papel);border:1px solid var(--linha);padding:30px;margin:0 0 18px;border-radius:14px}
.card.highlight{border:1px solid var(--linha);box-shadow:inset 0 0 0 1px var(--accent-suave)}
.step{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 10px;border-radius:999px;background:var(--accent-suave);color:var(--accent);font-size:.75rem;letter-spacing:.06em;font-weight:700;margin-bottom:10px}
h2{margin:.2rem 0 .7rem;font-size:1.9rem;line-height:1.15;font-weight:600}
.question{font-size:1.04rem;font-weight:600;color:var(--tinta);margin-bottom:6px}
.guidance{color:var(--cinza);margin:0 0 8px;font-size:.95rem}
label,legend{display:block;margin:16px 0 8px;font-weight:600;font-size:.94rem}
input,textarea{width:100%;border:1px solid #cbd3d0;border-radius:10px;padding:13px 15px;background:#fff;color:var(--tinta);font:inherit}
textarea{resize:vertical}
input:focus,textarea:focus{outline:2px solid var(--accent-suave);border-color:var(--accent)}
.field-invalid{border-color:var(--erro)!important;outline:none!important;box-shadow:0 0 0 2px rgba(155,70,57,.12)}
.field-error{min-height:1.2em;margin:8px 0 0;font-size:.9rem;color:var(--erro)}
fieldset{border:0;padding:0;margin:16px 0 0}
.option,.consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:10px 0}
.option input,.consent input{width:auto;margin-top:5px}
.option-outro{margin:8px 0 0 30px;max-width:420px}
.grid-2{display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}
button{width:100%;margin-top:22px;border:0;border-radius:999px;background:var(--accent);color:#fff;font:700 .9rem Montserrat,sans-serif;letter-spacing:.04em;padding:16px 22px;cursor:pointer}
button:hover{background:#186F5C}
button:disabled{opacity:.6;cursor:not-allowed}
.status{margin-top:14px;font-size:.95rem}.status.error{color:var(--erro)}
.obrigado{display:none}
.obrigado.show{display:block}
.obrigado h2{font-size:2.1rem}
.cta-agendamento{margin-top:26px;padding-top:22px;border-top:1px solid var(--linha)}
.cta-aviso{font-weight:700;color:var(--titulo);margin:0 0 14px}
.cta-btn{display:inline-block;background:var(--accent);color:#fff;font:700 1rem Montserrat,sans-serif;letter-spacing:.02em;padding:17px 30px;border-radius:999px;text-decoration:none}
.cta-btn:hover{background:#186F5C}
.cta-alt{margin:16px 0 0;font-size:.92rem;color:var(--cinza)}
.cta-alt-link{color:var(--titulo);font-weight:600;text-decoration:underline}
@media (max-width:860px){.grid-2{grid-template-columns:1fr}.hero-title-wrap{min-height:auto;padding-top:0}.hero-mark{right:0;top:6px;width:190px;max-width:40vw;opacity:.13}.card{padding:22px}h2{font-size:1.7rem}}
@media (max-width:700px){.page{padding:0 18px 56px}.hero{padding-top:44px;min-height:0}.hero-title-wrap{min-height:0;padding-right:76px}.hero-mark{right:-10px;top:30px;width:150px;max-width:44vw;opacity:.12}h1{font-size:clamp(2.4rem,11vw,3.6rem);line-height:1.0}}
