.contact-card{margin:26px 0 30px;border-top:3px solid #244b47;background:#fcf8f1}
.contact-card h2{font-size:31px;margin:8px 0 13px;color:#68293a}
.contact-card>.contact-intro{font-size:13px;color:#77685d;margin-bottom:25px;max-width:520px}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.contact-fields .field{min-width:0}
.contact-card .field>span:first-child,.contact-card .field>label{font-size:12px;font-weight:600}
.contact-card .field input{width:100%;min-height:49px;font-size:16px;background:#fffdf8;border:1px solid #cec1b1;border-radius:2px;padding:11px 12px;color:#433a32}
.contact-card .contact-hint{margin:0 0 17px;font-size:12px;color:#77685d;line-height:1.7}
.contact-card .address-details{border-top:1px solid #d9cebf;margin-top:8px;padding-top:4px}
.address-details summary{cursor:pointer;min-height:50px;padding:15px 0;font-size:13px;font-weight:600;color:#244b47}
.address-details summary .optional{font-size:12px;font-weight:400}
.address-details[open] summary{margin-bottom:8px}
.address-fields .address-wide{grid-column:1/-1}
.survey-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.personal-link-box{margin:25px auto;text-align:left;max-width:490px}
.personal-link-box label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}
.personal-link-box input{width:100%;min-height:47px;padding:10px 12px;border:1px solid #cdbdab;background:#fffaf2;font-size:13px;border-radius:2px}
.personal-link-box .button{margin-top:10px;width:100%;min-height:46px}
.personal-link-box p{min-height:22px;margin-top:8px;font-size:12px;color:#244b47}
@media(max-width:540px){.contact-card{padding:23px 19px}.contact-card h2{font-size:28px}.contact-fields{gap:0 13px}.contact-methods{grid-template-columns:1fr}.contact-card .contact-intro{font-size:13px}.contact-fields .field>span:first-child{font-size:12px}.address-details summary{font-size:13px}.personal-link-box input{font-size:16px}.contact-card .contact-hint{font-size:12px}}
.contact-card .field select{width:100%;min-height:49px;font-size:15px;background:#fffdf8;border:1px solid #cec1b1;border-radius:2px;padding:11px 12px;color:#433a32}
.contact-card .address-status-fields{padding-top:20px;border-top:1px solid #d9cebf;margin-top:8px}
.address-status-fields .field>span:first-child{min-height:36px;line-height:1.5}
.yes-no-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.yes-no-options .likelihood-content{min-height:60px;height:auto;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 18px;font-size:16px;line-height:1.4;text-align:left}
.yes-no-options .likelihood-content::after{content:'';display:block;width:21px;height:21px;border:1px solid #a28d7c;border-radius:50%;margin-left:15px;flex-shrink:0}
.yes-no-options .likelihood-option input:checked+.likelihood-content::after{background:#e6c17b;border:5px solid #68293a;outline:1px solid #e6c17b}
.partner-toggle{display:flex;align-items:center;gap:13px;min-height:54px;padding:15px 16px;border:1px solid #cdbdab;color:#68293a;line-height:1.55;font-size:14px;background:#f5eee4;margin-bottom:22px}
.partner-toggle input{width:22px;height:22px;flex-shrink:0;accent-color:#68293a}
.partner-card>fieldset{border:0;padding:0;margin:0;min-width:0}
.partner-card>fieldset[hidden]{display:none}
.partner-card .guest-question-card{border:0;padding:0;margin:25px 0 0;background:transparent}
.partner-card .guest-question-heading h2{font-size:27px}
@media(max-width:540px){.contact-card .field select{font-size:16px}.address-status-fields{grid-template-columns:1fr}.address-status-fields .field>span:first-child{min-height:0}.yes-no-options{gap:10px}.yes-no-options .likelihood-content{min-height:58px;font-size:15px;padding:14px}.partner-toggle{font-size:13px;padding:14px}.partner-card h2{font-size:27px}.survey-intro h1{font-size:37px!important}}
.question-event>span{font-weight:600}
.family-card>.contact-intro{margin-bottom:20px}
.family-member-card{padding:24px 0 28px;border-top:1px solid var(--line);min-width:0}
.family-member-card:last-child{padding-bottom:10px}
.family-member-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}
.family-member-heading>div{min-width:0}
.family-member-heading .eyebrow{font-size:9px;color:var(--muted)}
.family-member-heading h3{font-size:28px;line-height:1.2;margin:6px 0 0;overflow-wrap:anywhere}
.family-member-heading .family-remove{min-height:44px;padding:10px 13px;flex-shrink:0;font-size:11px}
.family-contact-details{margin:0 0 22px;border-bottom:1px solid var(--line)}
.family-contact-details summary{cursor:pointer;display:list-item;padding:10px 0 16px;min-height:46px;font-size:13px;font-weight:600;color:var(--green)}
.family-contact-details[open] summary{padding-bottom:12px}
.family-contact-details summary .optional{margin-left:6px}
.family-attendance .likelihood-fieldset:first-child{margin-top:18px}
.family-attendance .likelihood-fieldset{margin-bottom:26px}
.family-attendance>.field{margin-bottom:0}
.family-add{padding-top:8px}
.family-add .button{min-height:48px;white-space:normal}
.family-card .family-add .contact-hint{margin:12px 0 0}
.family-status{color:var(--muted);font-size:12px;line-height:1.6;margin:10px 0 0}
.family-status:empty,.family-card #family-count:empty{display:none}
@media(max-width:540px){.family-member-heading h3{font-size:26px}.family-member-heading{gap:10px}.family-add>.button{width:100%}.family-member-card{padding-top:22px}.family-attendance .likelihood-fieldset legend{font-size:23px}.family-card .contact-fields{grid-template-columns:1fr}.family-member-card .field{margin-top:12px}.family-member-heading .family-remove{padding:10px;min-width:66px}}
