:root { color-scheme: light; font-family: system-ui, sans-serif; color: #19382d; background: #f4f5f0; }
* { box-sizing: border-box; }
body { margin: 0; padding: 48px 20px; }
main { max-width: 680px; margin: 0 auto; padding: 40px; background: #fff; border: 1px solid #dce2d9; border-radius: 16px; }
.brand { font-size: 12px; font-weight: 750; letter-spacing: .12em; color: #496450; }
h1 { margin: 12px 0 24px; font-size: clamp(28px, 5vw, 40px); line-height: 1.15; }
h2 { font-size: 22px; margin-top: 24px; }
p { line-height: 1.65; margin: 16px 0; }
a { color: #176447; text-underline-offset: 3px; overflow-wrap: anywhere; }
form { border-top: 1px solid #dce2d9; border-bottom: 1px solid #dce2d9; margin: 28px 0; padding: 12px 0 28px; }
label { display: block; line-height: 1.6; }
input[type=tel] { display: block; margin-top: 8px; width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #758878; border-radius: 6px; font: inherit; }
input[type=checkbox] { width: 20px; height: 20px; accent-color: #176447; vertical-align: middle; margin: 0 8px 3px 0; }
button { border: 0; border-radius: 6px; background: #176447; color: #fff; padding: 14px 20px; font: inherit; font-weight: 650; cursor: pointer; }
:focus-visible { outline: 3px solid #bc7625; outline-offset: 3px; }
@media (max-width: 500px) { body { padding: 16px 12px; } main { padding: 24px 20px; } button { width: 100%; } }
