
.diywf-tool{max-width:920px;margin:2.5rem auto;padding:clamp(22px,4vw,48px);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);box-shadow:0 12px 36px rgba(45,35,30,.06)}
.diywf-tool *{box-sizing:border-box}.diywf-tool__eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.55rem}
.diywf-tool h2,.diywf-tool h3{margin:.1rem 0 .7rem;line-height:1.12;color:var(--ink)}.diywf-tool h2{font-size:clamp(1.8rem,4vw,3rem)}.diywf-tool h3{font-size:clamp(1.45rem,3vw,2rem)}
.diywf-tool__intro{font-size:1.05rem;line-height:1.7;color:var(--muted);max-width:720px;margin:0 0 2rem}
.diywf-tool fieldset{border:0;padding:0;margin:0 0 2rem}.diywf-tool legend{font-weight:700;font-size:1.05rem;margin-bottom:.85rem}.diywf-tool__hint{margin:-.55rem 0 .85rem;color:var(--muted);font-size:.9rem}
.diywf-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.diywf-choice-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.diywf-choice-grid--styles{grid-template-columns:repeat(4,minmax(0,1fr))}
.diywf-choice{position:relative;cursor:pointer}.diywf-choice input{position:absolute;opacity:0;pointer-events:none}.diywf-choice span{display:flex;min-height:52px;align-items:center;justify-content:center;text-align:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:.15s ease;font-weight:600;line-height:1.25}
.diywf-choice small{display:block;font-weight:400;color:var(--muted);margin-top:3px;font-size:.78rem}.diywf-choice input:checked+span{border-color:var(--ink);background:var(--soft);box-shadow:inset 0 0 0 1px var(--ink)}.diywf-choice input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--accent) 25%,transparent);outline-offset:2px}
.diywf-tool button{font:inherit}.diywf-tool__primary,.diywf-tool__secondary{cursor:pointer;font-weight:700}.diywf-tool__primary{width:100%;border:0;border-radius:999px;background:var(--ink);color:#fff;padding:15px 22px;font-size:1rem}.diywf-tool__secondary{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:9px 13px}
.diywf-vow-finder__error{min-height:1.5em;color:#8b2e2e;font-size:.92rem;margin:-.5rem 0 .75rem}.diywf-vow-finder__results-head{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;margin-bottom:1.25rem}.diywf-vow-finder__cards{display:grid;gap:16px}
.diywf-vow-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(18px,3vw,28px)}.diywf-vow-card__top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:10px}.diywf-vow-card__label{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:700}.diywf-vow-card p{font-size:1rem;line-height:1.75;margin:0}.diywf-vow-card__copy{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:8px 12px;cursor:pointer;white-space:nowrap}
.diywf-vow-finder__more{width:100%;margin-top:16px;background:var(--soft)}.diywf-vow-finder__make-yours{margin-top:22px;padding:18px 20px;background:var(--soft);border-radius:14px}.diywf-vow-finder__make-yours p{margin:.35rem 0 0;line-height:1.6;color:var(--muted)}
@media(max-width:720px){.diywf-choice-grid--styles,.diywf-choice-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.diywf-vow-finder__results-head{display:block}.diywf-vow-finder__edit{margin-top:5px}}
@media(max-width:480px){.diywf-tool{border-radius:min(var(--radius),16px);padding:20px 16px}.diywf-choice-grid,.diywf-choice-grid--styles,.diywf-choice-grid--three{grid-template-columns:1fr}}
