.ctos-contact{max-width:780px;display:grid;gap:1rem;color:inherit}.ctos-contact fieldset{border:1px solid currentColor;padding:1rem}.ctos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ctos-contact label{display:grid;gap:.35rem}.ctos-contact input,.ctos-contact select,.ctos-contact textarea{font:inherit;width:100%;padding:.7rem;border:1px solid #777;border-radius:.25rem;background:inherit;color:inherit}.ctos-contact button{justify-self:start;padding:.8rem 1.2rem}.ctos-contact input[type=checkbox]{width:auto}.ctos-contact fieldset label:has(input[type=checkbox]){grid-template-columns:auto 1fr;align-items:start}.ctos-consent{grid-template-columns:auto 1fr!important;align-items:start}.ctos-consent input{width:auto}.ctos-hp{position:absolute!important;left:-10000px!important}.ctos-notice{padding:1rem;border-left:4px solid #26734d;background:#eef8f2}@media(max-width:640px){.ctos-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.ctos-contact *{scroll-behavior:auto!important}}
.ctos-contact {
    --ctos-ink: #26372f;
    --ctos-green: #3f5d4d;
    --ctos-sand: #f4f0e7;
    --ctos-clay: #b97858;
    display: grid;
    gap: 1.35rem;
    max-width: 860px;
    margin-inline: auto;
    color: var(--ctos-ink);
}
.ctos-contact *, .ctos-contact *::before, .ctos-contact *::after { box-sizing: border-box; }
.ctos-contact fieldset, .ctos-panel { border: 1px solid color-mix(in srgb, var(--ctos-green) 24%, transparent); border-radius: 14px; padding: clamp(1rem, 3vw, 1.5rem); margin: 0; background: color-mix(in srgb, var(--ctos-sand) 55%, white); }
.ctos-contact legend { padding: 0 .45rem; font-weight: 650; }
.ctos-grid, .ctos-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.2rem; }
.ctos-contact label { display: grid; align-content: start; gap: .42rem; font-weight: 560; }
.ctos-contact input:not([type="checkbox"]):not([type="radio"]), .ctos-contact select, .ctos-contact textarea { width: 100%; min-height: 48px; border: 1px solid #8c978f; border-radius: 8px; padding: .7rem .8rem; background: #fff; color: #17231d; font: inherit; }
.ctos-contact textarea { min-height: 130px; resize: vertical; }
.ctos-contact input:focus-visible, .ctos-contact select:focus-visible, .ctos-contact textarea:focus-visible, .ctos-contact button:focus-visible { outline: 3px solid color-mix(in srgb, var(--ctos-clay) 70%, white); outline-offset: 2px; border-color: var(--ctos-green); }
.ctos-choice { display: flex !important; grid-column: 1 / -1; align-items: flex-start; gap: .65rem !important; font-weight: 450 !important; }
.ctos-choice input { width: 1.25rem; height: 1.25rem; margin-top: .12rem; flex: 0 0 auto; accent-color: var(--ctos-green); }
.ctos-required { color: #a23e2a; font-weight: 750; }
.ctos-optional, .ctos-help { color: #66736c; font-size: .9rem; font-weight: 400; }
.ctos-error { color: #a12f20; font-size: .9rem; font-weight: 550; }
.ctos-summary { padding: .9rem 1rem; border-left: 4px solid #a12f20; background: #fff0ed; }
.ctos-was-validated :invalid { border-color: #a12f20 !important; }
.ctos-submit { justify-self: start; min-height: 50px; border: 0; border-radius: 9px; padding: .75rem 1.5rem; background: var(--ctos-green); color: #fff; font: inherit; font-weight: 650; cursor: pointer; }
.ctos-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
[hidden] { display: none !important; }
@media (max-width: 680px) { .ctos-grid, .ctos-panel { grid-template-columns: 1fr; } .ctos-submit { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .ctos-contact * { scroll-behavior: auto !important; } }
