.dac {
    --dac-accent: #F20D8F;
    --dac-text: #171717;
    --dac-muted: #606064;
    --dac-border: #cfcfd3;
    --dac-selected: #ececee;
    --dac-soft: #f5f5f6;
    --dac-success: #176b3a;
    --dac-error: #9b1c1c;
    color: var(--dac-text);
    font: inherit;
    max-width: 980px;
    margin: 0 auto;
}
.dac *, .dac *::before, .dac *::after { box-sizing: border-box; }
.dac button, .dac input, .dac textarea { font: inherit; }
.dac__progress { margin-bottom: 34px; }
.dac__progress-row { display:flex; justify-content:space-between; gap:16px; margin-bottom:10px; color:var(--dac-muted); font-size:14px; }
.dac__progress-track { height:5px; background:#dedee1; overflow:hidden; }
.dac__progress-fill { height:100%; width:0; background:var(--dac-accent); transition:width .2s ease; }
.dac__step[hidden], .dac__progress[hidden], .dac__actions[hidden], .dac [hidden] { display:none !important; }

.dac__eyebrow {
    color:var(--dac-accent);
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:700;
    font-size:19px;
    line-height:1.25;
    margin-bottom:12px;
}
.dac h2 { margin:0 0 12px; font-size:clamp(30px,4vw,46px); line-height:1.08; letter-spacing:-.025em; }
.dac h3 { margin:0 0 10px; font-size:clamp(24px,3vw,34px); line-height:1.15; letter-spacing:-.015em; }
.dac__intro { color:var(--dac-muted); max-width:780px; margin:0 0 28px; line-height:1.6; font-size:17px; }

.dac__choices { display:grid; gap:12px; }
.dac__choices--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.dac__choice {
    position:relative;
    display:flex;
    align-items:center;
    gap:14px;
    min-height:88px;
    padding:18px 56px 18px 20px;
    border:1px solid var(--dac-border);
    background:#fff;
    color:var(--dac-text);
    cursor:pointer;
    transition:border-color .15s ease, background .15s ease;
}
.dac__choice:hover { border-color:#8d8d92; }
.dac__choice:has(.dac__choice-input:checked),
.dac__choice:has(.dac__choice-checkbox:checked) {
    border:2px solid #1b1b1b;
    background:var(--dac-selected);
    padding:17px 55px 17px 19px;
}
.dac__choice:has(.dac__choice-input:checked)::after {
    content:"✓";
    position:absolute;
    right:20px;
    top:50%;
    transform:translateY(-50%);
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    background:#171717;
    color:#fff;
    font-size:15px;
    font-weight:800;
    line-height:1;
}
.dac__choice-input {
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    overflow:hidden;
}
.dac__choice-checkbox {
    width:20px;
    height:20px;
    flex:0 0 auto;
    margin:0;
    accent-color:#171717;
}
.dac__choice-copy { display:block; min-width:0; color:var(--dac-text); }
.dac__choice-copy strong { display:block; color:var(--dac-text); font-size:17px; line-height:1.35; }
.dac__choice-copy small { display:block; margin-top:5px; color:#56565b; font-size:14px; line-height:1.5; }
.dac__choice:focus-within { outline:3px solid var(--dac-accent); outline-offset:3px; }

.dac__actions,
.dac__lead-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:28px; }
.dac__back, .dac__next, .dac__send-button, .dac__restart {
    min-height:48px;
    padding:12px 22px;
    border:1px solid #1b1b1b;
    font-weight:700;
    cursor:pointer;
    transition:background .15s ease, color .15s ease, opacity .15s ease;
}
.dac__next, .dac__send-button {
    background:var(--dac-accent);
    border-color:var(--dac-accent);
    color:#111;
}
.dac__back, .dac__restart { background:#fff; color:var(--dac-text); }
.dac__next:hover, .dac__send-button:hover { filter:brightness(.96); }
.dac__back:hover, .dac__restart:hover { background:#ededee; }
.dac__back:focus-visible, .dac__next:focus-visible, .dac__send-button:focus-visible, .dac__restart:focus-visible {
    outline:3px solid var(--dac-accent);
    outline-offset:3px;
}
.dac__back:disabled, .dac__send-button:disabled { opacity:.55; cursor:not-allowed; }
.dac__error { color:var(--dac-error); margin:18px 0 0; font-weight:700; }

.dac__price-box {
    margin:32px 0;
    padding:24px 0;
    border-top:1px solid var(--dac-border);
    border-bottom:1px solid var(--dac-border);
    background:transparent;
}
.dac__price-box span, .dac__price-box small { display:block; color:var(--dac-muted); }
.dac__price-box strong { display:block; margin:4px 0 2px; font-size:clamp(38px,6vw,58px); line-height:1; letter-spacing:-.035em; }
.dac__result-type { color:var(--dac-muted); margin:0; font-size:17px; }
.dac__result-explanation { font-size:18px; line-height:1.65; max-width:800px; margin:0; }
.dac__result-block { margin:34px 0 24px; }
.dac__drivers { display:flex; flex-wrap:wrap; gap:8px; }
.dac__pill { display:inline-flex; border:1px solid var(--dac-border); padding:7px 10px; font-size:14px; background:#fff; }
.dac__assumptions, .dac__estimate-note {
    margin:22px 0;
    padding:18px 0;
    border-top:1px solid var(--dac-border);
    border-bottom:1px solid var(--dac-border);
    background:transparent;
    line-height:1.55;
}
.dac__assumptions ul { margin:8px 0 0 20px; }
.dac__summary-details { margin:22px 0; border-top:1px solid var(--dac-border); border-bottom:1px solid var(--dac-border); padding:16px 0; }
.dac__summary-details summary { cursor:pointer; font-weight:700; min-height:44px; display:flex; align-items:center; }
.dac__summary-details summary:focus-visible { outline:3px solid var(--dac-accent); outline-offset:3px; }
.dac__summary { margin-top:14px; }
.dac__summary-row { display:grid; grid-template-columns:minmax(170px,230px) 1fr; gap:18px; padding:9px 0; border-top:1px solid #ececef; }
.dac__summary-row:first-child { border-top:0; }
.dac__summary-row span { color:var(--dac-muted); }

.dac__lead {
    margin-top:44px;
    padding:36px 0 0;
    border-top:1px solid var(--dac-border);
    background:transparent;
}
.dac__lead > p { color:var(--dac-muted); max-width:820px; line-height:1.65; font-size:17px; margin:0 0 26px; }
.dac__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; }
.dac__field { display:block; min-width:0; }
.dac__field--full { display:block; margin-top:24px; }
.dac__field span { display:block; margin-bottom:7px; font-size:14px; font-weight:700; color:var(--dac-text); }
.dac__field input, .dac__field textarea {
    width:100%;
    border:1px solid var(--dac-border);
    background:#fff;
    color:var(--dac-text);
    padding:12px 13px;
    min-height:48px;
    font-size:16px;
}
.dac__field textarea { min-height:145px; resize:vertical; line-height:1.5; }
.dac__field input:focus, .dac__field textarea:focus { outline:3px solid var(--dac-accent); outline-offset:2px; border-color:#1b1b1b; }
.dac__privacy-note { color:var(--dac-muted); font-size:14px; line-height:1.55; max-width:850px; margin:18px 0 0; }
.dac__privacy-note a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.dac__send-status { margin:14px 0 0; font-weight:700; }
.dac__send-status--success { color:var(--dac-success); }
.dac__send-status--error { color:var(--dac-error); }
.dac__honeypot { position:absolute !important; left:-99999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

@media (max-width:720px) {
    .dac__choices--2, .dac__fields { grid-template-columns:1fr; }
    .dac__summary-row { grid-template-columns:1fr; gap:4px; }
    .dac h2 { font-size:32px; }
    .dac h3 { font-size:26px; }
    .dac__eyebrow { font-size:19px; }
    .dac__choice { padding-right:52px; min-height:78px; }
    .dac__choice:has(.dac__choice-input:checked), .dac__choice:has(.dac__choice-checkbox:checked) { padding-right:51px; }
}

/* Duoable 1.2: integrated brand styling and Salient compatibility. */
.dac, .dac .dac__form, .dac .dac__step {
    width:100% !important;
    max-width:none !important;
    min-width:0;
}
.dac { overflow-wrap:anywhere; }
.dac p { padding:0 !important; }
.dac .dac__intro,
.dac .dac__result-explanation,
.dac .dac__lead > p,
.dac .dac__estimate-note,
.dac .dac__newsletter-only {
    width:100%;
    max-width:none;
}
.dac .dac__eyebrow { font-size:16px !important; font-family:'Raleway',sans-serif !important; font-weight:500 !important; }
.dac .dac__intro { margin-bottom:0 !important; }
.dac .dac__choices { margin-top:20px; }
.dac h2 { font-size:1.2em !important; font-weight:500 !important; line-height:1.3; }
.dac .dac__back { padding:8px 40px !important; }
.dac .dac__privacy-note { display:none !important; }
.dac .dac__next, .dac .dac__send-button {
    font-size:18px !important;
    padding:8px 50px !important;
    color:white !important;
    font-family:'Lovelo',sans-serif !important;
    white-space:normal;
    max-width:100%;
    min-height:48px;
    line-height:1.35;
    border-radius:0;
}
.dac .dac__pill { border-radius:999px !important; padding:7px 16px; max-width:100%; }
.dac .dac__choice { border:1px solid transparent !important; padding:18px 56px 18px 20px !important; margin:0; border-radius:0; }
.dac .dac__choice:focus-within { outline:none !important; }
.dac .dac__choice-input:focus-visible + .dac__choice-copy,
.dac .dac__choice-checkbox:focus-visible + .dac__choice-copy { outline:3px solid #F20D8F; outline-offset:6px; }
.dac .dac__summary-details { border-bottom:none !important; border-top:none !important; }
.dac .dac__lead { border-top:none !important; margin-top:0 !important; padding:0 !important; }
.dac .dac__lead > p { margin:0 0 16px; padding:0 !important; }
.dac .dac__field--full { width:100%; margin:0; }
.dac .dac__field input, .dac .dac__field textarea { max-width:100%; min-width:0; border-radius:0; font-size:16px; box-sizing:border-box; }
.dac .dac__newsletter { display:flex; align-items:flex-start; gap:12px; margin:22px 0 0; padding:10px 0; font-size:15px; line-height:1.55; cursor:pointer; }
.dac .dac__newsletter input { flex:0 0 22px; width:22px; height:22px; margin:2px 0 0; accent-color:#171717; }
.dac .dac__newsletter span { min-width:0; }
.dac .dac__newsletter input:focus-visible { outline:3px solid #F20D8F; outline-offset:3px; }
.dac .dac__lead-actions { margin-top:20px; }
.dac .dac__lead > .dac__reassurance { font-size:14px; margin:12px 0 8px; }
.dac .dac__lead > .dac__contact-note { font-size:13px; line-height:1.55; margin:0 0 16px; }
.dac .dac__contact-note a, .dac .dac__newsletter-only a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.dac .dac__send-status:empty { display:none; }
.dac .dac__lead > .dac__send-status--success { color:var(--dac-success); }
.dac .dac__lead > .dac__send-status--error { color:var(--dac-error); }
.dac .dac__result-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; margin-top:24px; }
.dac .dac__edit, .dac .dac__restart {
    min-height:44px; padding:8px 0; background:transparent !important; border:0;
    color:var(--dac-muted); text-decoration:underline; text-underline-offset:4px;
    font:inherit; font-size:14px; font-weight:400; cursor:pointer; white-space:normal;
}
.dac .dac__edit:focus-visible, .dac .dac__restart:focus-visible, .dac a:focus-visible { outline:3px solid #F20D8F; outline-offset:4px; }
.dac .dac__newsletter-only { margin-top:28px; padding-top:24px; border-top:1px solid var(--dac-border); }
.dac .dac__newsletter-only h3 { font-size:22px; }
.dac .dac__newsletter-only p { margin:0 0 8px; }
.dac .dac__newsletter-only a { display:inline-block; padding:10px 0; }
.dac .dac__summary-row > * { min-width:0; }
.dac .dac__honeypot { left:0 !important; top:0 !important; clip-path:inset(50%); opacity:0; pointer-events:none; }
@media (max-width:720px) {
    .dac .dac__choices--2, .dac .dac__fields { grid-template-columns:minmax(0,1fr); }
    .dac .dac__progress-row { flex-wrap:wrap; gap:4px 16px; }
    .dac .dac__progress { margin-bottom:24px; }
    .dac .dac__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .dac .dac__next, .dac .dac__send-button, .dac .dac__back { padding:12px 16px !important; }
    .dac .dac__send-button { width:100%; }
    .dac .dac__lead-actions { display:block; }
    .dac .dac__price-box strong { font-size:clamp(28px,7.5vw,48px); line-height:1.2; }
    .dac h3 { font-size:24px; line-height:1.25; }
    .dac .dac__result-block { margin:24px 0 18px; }
    .dac .dac__summary-row { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) { .dac *, .dac *::before, .dac *::after { transition:none !important; scroll-behavior:auto !important; } }
