.contact-conversation__form:has(.family-form){padding:24px 20px;border:1px solid #ffffffc2;border-radius:calc(var(--complutum-radius,18px) + 6px);background:#fffffffa;box-shadow:0 22px 46px #2d243b1f;overflow:hidden}
.complutum-home-contact__shell:has(.family-form){z-index:4}
/* Keep the desktop form shadow inside the contact section's clipping boundary. */
@media(min-width:1081px){
 .complutum-main--home-template .complutum-home-contact__shell:has(.family-form){padding-bottom:80px}
}
.family-form{--family-green:#61782f;--family-ink:#5d536d;margin:0;min-width:0;color:var(--family-ink);font-family:Montserrat,sans-serif;letter-spacing:0;scroll-margin-top:120px}
.family-form [hidden]{display:none!important}
.family-progress{display:flex;flex-direction:column;gap:10px;font-size:12px;color:var(--family-green);margin-bottom:26px}
.family-progress progress{width:100%;height:5px;border:0;border-radius:8px;overflow:hidden;appearance:none;background:#edf1e5;color:var(--family-green)}
.family-progress progress::-webkit-progress-bar{background:#edf1e5}.family-progress progress::-webkit-progress-value{background:#8ca346;border-radius:8px}.family-progress progress::-moz-progress-bar{background:#8ca346}
.family-form fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}
.family-form legend{font-size:23px;font-weight:500;line-height:1.3;max-width:100%;margin-bottom:20px;padding:0;letter-spacing:0;text-wrap:balance}
.family-form label{display:block;font-size:13px;line-height:1.5;font-weight:500;margin-bottom:16px}
.family-form-host .family-form :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]),select,textarea){display:block;box-sizing:border-box;width:100%;min-width:0;min-height:46px;font:inherit;font-size:16px;color:var(--family-ink);padding:12px 14px;margin-top:8px;background-color:#fff;border:1px solid #d6d7d0;border-radius:12px;box-shadow:inset 0 1px 0 #ffffffb8}
.family-form-host .family-form textarea{min-height:105px;resize:vertical}
.family-form-host .family-form select{appearance:none;-webkit-appearance:none;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,#696077 50%),linear-gradient(135deg,#696077 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.family-form .family-hint{font-size:12px;line-height:1.6;color:#696077;margin:0 0 18px}
.family-child{display:flex;align-items:center;gap:10px}.family-child-fields{flex:1;min-width:0}.family-child-fields>p{font-size:13px;font-weight:500;margin:0 0 12px}.family-birth-pair{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px}.family-child label{min-width:0}.family-birth-pair select{padding-left:8px!important;padding-right:28px!important}
.family-form button{font:inherit;font-size:14px;line-height:1.4;border:1px solid #b9c6a0;border-radius:12px;background:#fff;color:var(--family-green);padding:12px 16px;min-height:46px;cursor:pointer;box-shadow:0 4px 10px #52682c0c}
.family-form button[data-child-remove]{width:44px;min-height:44px;padding:0;flex-shrink:0;font-size:26px;margin-top:8px}
.family-form [data-child-add]{display:inline-flex;align-items:center;gap:12px;background:#f4f7ee;margin:0 0 16px}
.family-form [data-child-add] span{font-size:22px}
.family-options label{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #dce2d2;border-radius:12px;background:#fafbf8;cursor:pointer;box-sizing:border-box;min-width:0;width:100%}
.family-options label>span,.family-consent>span{flex:1;min-width:0;overflow-wrap:anywhere;white-space:normal}
.family-options label:has(:checked){background:#eef3e5;border-color:#8ca346;box-shadow:0 4px 12px #61782f12}
.family-form-host .family-form input:is([type=checkbox],[type=radio]){box-sizing:border-box;width:19px;max-width:19px;height:19px;min-height:19px;flex:0 0 19px;padding:0;accent-color:var(--family-green);margin:2px 0 0;border-radius:initial;box-shadow:none;appearance:auto}
.family-form .family-consent{display:flex;align-items:flex-start;gap:12px;font-size:13px}
.family-form a{color:var(--family-green);text-decoration:underline;text-underline-offset:3px}
.family-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}
.family-actions :is([data-family-next],[data-family-submit]){margin-left:auto;background:var(--family-green);color:#fff;border-color:var(--family-green);box-shadow:0 12px 24px #91af3d29}
.family-form button:disabled{opacity:.5;cursor:default}
.family-form :is(input,select,textarea,button):focus-visible,.family-options label:has(:focus-visible){outline:2px solid var(--family-green);outline-offset:3px}
.family-form dl{margin:0 0 24px}.family-form dt{font-size:12px;color:var(--family-green);margin-top:14px}.family-form dd{font-size:15px;line-height:1.6;margin:4px 0;overflow-wrap:anywhere;white-space:pre-wrap}
.family-status{font-size:14px;line-height:1.6}.family-status:empty{display:none}
.family-form.is-enhanced .family-viewport{overflow:hidden;min-height:270px}
@media(max-width:380px){.family-birth-pair{grid-template-columns:minmax(0,1fr)}}
@media(min-width:700px){.contact-conversation__form:has(.family-form){padding:32px}.family-form legend{font-size:26px}.family-form.is-enhanced .family-viewport{min-height:300px}}
@media(hover:hover){.family-form button:not(:disabled):hover{box-shadow:0 7px 18px #52682c24}.family-options label:hover{border-color:#8ca346}}
