/* Additive planner styles. Every selector is scoped to the new page or review panel. */
.wf-planner-page{background:var(--void);color:var(--paper);font-family:var(--text);min-width:0}
.wf-planner-page a{color:inherit;text-decoration:none}.wf-planner-page a:hover{text-decoration:underline}
.wf-planner-page *{box-sizing:border-box}.wf-planner-page [hidden]{display:none!important}
.wf-planner-page .planner-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem var(--gutter);border-bottom:1px solid var(--rule);max-width:1400px;margin:auto}
.wf-planner-page .planner-brand{font:700 1.1rem var(--display);letter-spacing:-.03em}.wf-planner-page .planner-brand span{display:block;font:.65rem var(--mono);letter-spacing:.15em;color:var(--ink-2)}
.wf-planner-page .planner-back{font-size:.8rem;max-width:50%;text-align:right;color:var(--ink-2)}
.wf-planner-page .planner-skip{position:fixed;z-index:1000;left:1rem;top:1rem;padding:.75rem 1rem;background:var(--paper);color:var(--void);transform:translateY(-180%)}.wf-planner-page .planner-skip:focus{transform:translateY(0)}
.wf-planner-page :focus-visible{outline:3px solid var(--edge-text);outline-offset:4px}
.wf-planner-page .planner-intro{padding:clamp(2.5rem,6vw,5rem) var(--gutter) 3rem;max-width:1400px;margin:auto}
.wf-planner-page .planner-eyebrow{font:.7rem var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--edge-text);margin-bottom:1.5rem}
.wf-planner-page .intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:end}.wf-planner-page h1{font:700 clamp(2.7rem,5.7vw,5rem)/1.03 var(--display);letter-spacing:-.055em;margin:0}.wf-planner-page h1 em{color:var(--edge-text);font-style:normal}
.wf-planner-page .intro-grid p{max-width:480px;color:var(--ink-2);line-height:1.7}.wf-planner-page .planner-lede{font-size:1.35rem!important;color:var(--paper)!important}.wf-planner-page .small-note{font-size:.8rem}
.wf-planner-page .planner-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);padding:1rem var(--gutter) 5rem;max-width:1400px;margin:auto;align-items:start}
.wf-planner-page .planner-form{min-width:0}.wf-planner-page .planner-form fieldset{border:0;padding:0;margin:0 0 2.5rem;min-width:0}.wf-planner-page .planner-form legend{font:700 1.25rem var(--display);margin-bottom:1.3rem}.wf-planner-page .planner-form legend span{font:.7rem var(--mono);color:var(--edge-text);margin-right:1rem}
.wf-planner-page .planner-form label{display:grid;gap:.55rem;font-size:.85rem}.wf-planner-page .planner-fields,.wf-planner-page .need-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.wf-planner-page .planner-form select,.wf-planner-page .planner-form input[type=number]{min-width:0;width:100%;font:inherit;border:1px solid var(--rule-lit);color:var(--paper);background:var(--raise);min-height:52px;padding:.8rem;border-radius:var(--r-1)}
.wf-planner-page .field-hint{font-size:.8rem;line-height:1.65;color:var(--ink-2);margin:0 0 1.1rem}.wf-planner-page #months-label{margin-top:1rem}
.wf-planner-page .need-choice{display:flex!important;align-items:flex-start;gap:.8rem;min-height:98px;padding:1rem;border:1px solid var(--rule-lit);border-radius:var(--r-2);background:var(--well);cursor:pointer}
.wf-planner-page .need-choice:has(input:checked){border-color:var(--edge);box-shadow:inset 0 0 0 1px var(--edge)}.wf-planner-page .need-choice input{accent-color:var(--edge);width:19px;height:19px;flex-shrink:0;margin:3px 0}
.wf-planner-page .need-choice strong{display:block;line-height:1.5}.wf-planner-page .need-choice small{display:block;color:var(--ink-2);font-size:.72rem;line-height:1.6;margin-top:.3rem}
.wf-planner-page .planner-actions{display:flex;gap:.7rem;flex-wrap:wrap}.wf-planner-page .button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:.9rem 1.1rem;min-height:48px;border:1px solid var(--rule-lit);border-radius:var(--r-1);font:600 .85rem var(--text);cursor:pointer;color:var(--paper);background:transparent;text-align:center}
.wf-planner-page .button-primary{background:var(--fill);border-color:var(--fill);color:#fff}.wf-planner-page .button:hover{filter:brightness(1.1)}
.wf-planner-page .brief-card{position:sticky;top:1.5rem;background:var(--bone);color:var(--bone-ink);border-radius:var(--r-3);overflow:hidden;box-shadow:var(--sh-paper)}
.wf-planner-page .brief-top{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:1.4rem 1.7rem;border-bottom:1px solid var(--bone-rule);font:700 .65rem var(--mono);text-transform:uppercase;letter-spacing:.08em}
.wf-planner-page .draft-pill{border:1px solid var(--bone-ink2);padding:.4rem .7rem;border-radius:var(--r-pill)}.wf-planner-page #brief-content{padding:clamp(1.3rem,3vw,2.5rem);overflow-wrap:anywhere}
.wf-planner-page .brief-number{font:3rem var(--display);letter-spacing:-.08em;margin:0 0 1.5rem!important;color:var(--bone-ink2)}.wf-planner-page .brief-card h2{font:700 clamp(1.8rem,3vw,2.6rem)/1.1 var(--display);letter-spacing:-.04em;margin:0 0 1.5rem}
.wf-planner-page .brief-card p,.wf-planner-page .brief-card li{color:var(--bone-ink2);font-size:.85rem;line-height:1.7}.wf-planner-page .brief-card ul{padding-left:1.1rem}.wf-planner-page .brief-foot{border-top:1px solid var(--bone-rule);padding:1.2rem 1.7rem;color:var(--bone-ink2);font-size:.72rem;line-height:1.65}
.wf-planner-page .brief-card h3{font-size:.85rem;margin:1.6rem 0 .5rem}.wf-planner-page .brief-feature{border-bottom:1px solid var(--bone-rule);padding-bottom:.7rem;margin-top:.7rem}.wf-planner-page .brief-feature strong{font-size:.8rem}.wf-planner-page .brief-feature p{font-size:.75rem;margin:.3rem 0}
.wf-planner-page .review-note{padding:1rem;border-left:3px solid var(--fill);background:#ded8eb;border-radius:var(--r-1)}.wf-planner-page .cost{font:600 1.45rem var(--display);color:var(--bone-ink)!important}.wf-planner-page .brief-card .button{width:100%;margin-top:1rem}
.wf-planner-page .brief-card details{font-size:.8rem}.wf-planner-page .brief-card summary{cursor:pointer;padding:.8rem 0}.wf-planner-page .brief-card pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.wf-planner-page .summary-note{font-size:.72rem!important}
.wf-planner-page .planner-bottom{padding:3rem var(--gutter);border-top:1px solid var(--rule);background:var(--well)}.wf-planner-page .planner-bottom h2,.wf-planner-page .planner-bottom>div{max-width:1300px;margin-left:auto;margin-right:auto}.wf-planner-page .planner-bottom h2{font:700 1.8rem var(--display)}.wf-planner-page .planner-bottom>div{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.wf-planner-page .planner-bottom p{font-size:.85rem;color:var(--ink-2);line-height:1.8}.wf-planner-page .planner-bottom strong{color:var(--paper)}
.wf-planner-page .planner-footer{display:flex;gap:1.5rem;flex-wrap:wrap;padding:2rem var(--gutter);font-size:.75rem;color:var(--ink-2);max-width:1400px;margin:auto}.wf-planner-page .planner-footer span{margin-left:auto}.wf-planner-page #planner-error{color:#ffb4a3}.wf-planner-page .planner-noscript{padding:2rem var(--gutter)}.wf-planner-page .planner-noscript a{text-decoration:underline}
.wf-planner-brief{margin:0 0 1.5rem;padding:1.2rem;border:1px solid var(--rule-lit);border-left:3px solid var(--edge);background:var(--well);border-radius:var(--r-2);color:var(--paper)}.wf-planner-brief h2{font:700 1.25rem var(--display);margin:0 0 .8rem}.wf-planner-brief p{font-size:.85rem;line-height:1.7;margin:.7rem 0}.wf-planner-brief .wf-planner-brief-text{white-space:pre-line;overflow-wrap:anywhere;color:var(--ink-2)}.wf-planner-brief-actions{display:flex;gap:.7rem;flex-wrap:wrap}.wf-planner-brief-actions .btn{min-height:44px}.wf-planner-brief :focus-visible{outline:3px solid var(--edge-text);outline-offset:3px}
@media(max-width:850px){.wf-planner-page .intro-grid,.wf-planner-page .planner-layout{grid-template-columns:1fr;gap:1.4rem}.wf-planner-page .brief-card{position:static}.wf-planner-page .planner-bottom>div{gap:1rem}.wf-planner-page .planner-footer span{width:100%;margin:0}}
@media(max-width:460px){.wf-planner-page .need-grid,.wf-planner-page .planner-fields,.wf-planner-page .planner-bottom>div{grid-template-columns:1fr}.wf-planner-page .planner-actions{display:grid}.wf-planner-page .planner-actions .button{width:100%}.wf-planner-brief-actions{display:grid}.wf-planner-brief-actions .btn{width:100%;white-space:normal}}
@media(prefers-reduced-motion:reduce){.wf-planner-page{scroll-behavior:auto}.wf-planner-page .button,.wf-planner-page .planner-skip{transition:none}}
