body.heritage-open{overflow:hidden}
#heritage-invitation{box-sizing:border-box;width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:26px 32px;border:1px solid #d4bc8d;border-top:6px solid #bc9550;border-radius:16px;background:#fffdf8;color:#152945;box-shadow:0 24px 100px #10243866;overflow:auto;overscroll-behavior:contain}
#heritage-invitation::backdrop{background:#102438ba;backdrop-filter:blur(3px)}
#heritage-invitation .heritage-topline{display:flex;align-items:center;justify-content:space-between;gap:16px}
#heritage-invitation .eyebrow{font-size:12px!important;letter-spacing:.08em;color:#285e48;margin:0}
#heritage-invitation .heritage-close{background:transparent;border:1px solid #a8b4a9;border-radius:6px;color:#152945;padding:8px 12px;min-height:44px;white-space:nowrap;font-size:15px;cursor:pointer}
.heritage-intro{display:flex;gap:18px;align-items:start;margin:22px 0}
#heritage-invitation:not([data-step="0"]) .heritage-intro p{display:none}
#heritage-invitation:not([data-step="0"]) .heritage-intro{margin:16px 0}
#heritage-invitation:not([data-step="0"]) .heritage-mark{display:none}
#heritage-invitation:not([data-step="0"]) .heritage-intro h2{font-size:27px}
.heritage-mark{display:grid;place-items:center;flex-shrink:0;width:56px;height:56px;border:1px solid #bc9550;border-radius:50%;font:23px Georgia,serif;background:#f3ead7;color:#152945}
#heritage-invitation h2{font:clamp(27px,4.5vw,36px)/1.15 Georgia,serif;margin:0 0 10px;color:#152945}
#heritage-invitation p{font-size:16px;line-height:1.6;margin:0 0 12px}
#heritage-invitation .community-form{display:block;max-width:none;border:0;padding:0;background:transparent;margin:0}
.heritage-progress{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;margin:0 0 10px}
.heritage-progress li{display:flex;align-items:center;gap:7px;border-top:3px solid #dfe3da;padding:9px 0;font-size:14px;color:#59655f}
.heritage-progress li[aria-current]{border-top-color:#285e48;color:#214e3b;font-weight:bold}
#heritage-invitation .heritage-step-status{font-size:13px;color:#52625a;margin-bottom:14px}
#heritage-form fieldset{border:0;margin:0;padding:0;min-width:0}
#heritage-form>fieldset>legend{font:24px/1.25 Georgia,serif;padding:0;margin:0 0 10px;width:100%}
#heritage-form label:not(.consent){display:block;font-size:16px;line-height:1.5;font-weight:600;margin-top:15px}
#heritage-form input:not([type=checkbox]):not([type=hidden]),#heritage-form textarea{box-sizing:border-box;display:block;width:100%;min-width:0;font:16px/1.5 Arial,sans-serif;color:#152945;border:1px solid #87988d;background:white;border-radius:6px;padding:11px 12px;margin-top:5px;min-height:48px}
#heritage-form input:focus,#heritage-form textarea:focus{outline:3px solid #b89049;outline-offset:2px}
#heritage-form .heritage-help{font-size:14px;color:#4f6057;line-height:1.6;margin-top:6px}
.heritage-required,.heritage-optional{font-size:13px;font-weight:normal;color:#536459}
.heritage-parent{border-top:1px solid #ddd8ca;margin-top:20px;padding-top:14px}
#heritage-invitation .heritage-parent h3{font:19px Georgia,serif;margin:0;color:#285e48}
.heritage-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#heritage-form .consent{display:flex;align-items:flex-start;gap:11px;font-size:15px;font-weight:normal;line-height:1.55;margin:10px 0}
#heritage-form .consent input{accent-color:#285e48;flex-shrink:0;width:22px;height:22px;min-height:22px;margin:1px 0 0}
#heritage-form .heritage-connections{padding:12px 16px;border:1px solid #d0dacc;border-radius:8px;background:#f0f4ed;margin:16px 0}
#heritage-form .heritage-connections legend,#heritage-form .heritage-choices legend{font-size:16px;font-weight:bold;color:#285e48;padding:0 5px}
#heritage-form .heritage-choices{margin:22px 0 12px;padding:10px 16px;border:1px solid #d5bf97;background:#faf4e8;border-radius:8px}
#heritage-form .heritage-record-consent{padding-top:12px;border-top:1px solid #ddd8ca}
#heritage-invitation .form-privacy{font-size:13px!important;color:#4f6057;line-height:1.6}
#heritage-invitation a{color:#24543e;text-decoration:underline}
.heritage-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;margin-top:16px;border-top:1px solid #ddd8ca}
#heritage-invitation .button{display:inline-flex;gap:16px;justify-content:center;align-items:center;min-height:48px;background:#152945;color:#fff;border:1px solid #152945;border-radius:6px;padding:12px 24px;font-size:16px;cursor:pointer;white-space:normal}
#heritage-invitation .button:hover{background:#285e48}
.heritage-back{margin-right:auto;border:1px solid #87988d;border-radius:6px;background:white;color:#152945;padding:10px 20px;font-size:16px;cursor:pointer}
.heritage-dismiss{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin-top:12px}
.heritage-dismiss button{border:0;background:transparent;color:#52645a;font-size:13px;text-decoration:underline;min-height:44px;padding:6px 0;cursor:pointer}
#heritage-thanks{padding:24px 0}
#heritage-thanks h3{font:30px/1.2 Georgia,serif;margin:12px 0}
#heritage-invitation .form-status{margin-top:16px}
@media(max-width:540px){#heritage-invitation{padding:18px 18px 12px}.heritage-intro{gap:12px;margin:18px 0}.heritage-mark{display:none}.heritage-grid{grid-template-columns:1fr;gap:0}.heritage-progress li{font-size:12px;gap:4px}.heritage-progress li span{line-height:1.3}.heritage-topline .eyebrow{max-width:180px}.heritage-actions .button{padding:12px 18px}.heritage-dismiss{flex-direction:column;align-items:start}.heritage-dismiss button{min-height:40px}}
