/* Browser-only contract drafts; the printed sheet contains the selected agreement alone. */
.contract-tool .cdt-intro { padding-block:clamp(40px,6vw,80px) 36px; max-width:var(--site-max); }
.contract-tool .cdt-intro h1 { font-family:var(--font-display); font-weight:var(--font-display-weight); font-size:var(--fs-d2); line-height:1.07; letter-spacing:-.045em; margin:16px 0 22px; }
.contract-tool .lead { max-width:660px; font-size:var(--fs-lead); }
.cdt-privacy { margin-top:18px; color:var(--caption); font-size:var(--fs-sm); }
.cdt-choose { padding-bottom:48px; }
.cdt-section-head { display:flex; align-items:baseline; gap:16px; margin-bottom:22px; }
.cdt-number { font:var(--fs-xs) var(--font-mono); color:var(--gold-deep); }
.cdt-section-head h2 { font-size:var(--fs-lg); letter-spacing:-.02em; margin:0; }
.cdt-section-head p { font-size:var(--fs-sm); color:var(--caption); margin:6px 0 0; }
.cdt-templates { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.cdt-templates a { padding:24px; border:1px solid var(--line); border-radius:var(--r-xl); text-decoration:none; color:var(--ink); background:var(--bg-panel); display:flex; flex-direction:column; gap:12px; }
.cdt-templates a:hover { border-color:var(--field-border); }
.cdt-templates a[aria-current] { border-color:var(--gold); background:var(--paper); box-shadow:var(--shadow-sm); }
.cdt-template-mark { color:var(--gold-deep); }
.cdt-templates strong { font-size:var(--fs-md); line-height:1.3; font-weight:500; }
.cdt-templates a > span:last-child { font-size:var(--fs-sm); line-height:1.65; color:var(--caption); }
.cdt-workspace { display:grid; grid-template-columns:minmax(240px,.68fr) minmax(0,1.6fr); gap:clamp(24px,4vw,56px); align-items:start; padding-bottom:64px; }
.cdt-inputs { border-top:1px solid var(--line); padding-top:28px; }
.cdt-inputs .field { margin-top:20px; }
.cdt-inputs label { display:block; font-size:var(--fs-sm); font-weight:500; margin-bottom:8px; }
.cdt-inputs :is(input,textarea),.cdt-edit textarea,.cdt-copy-fallback textarea { width:100%; max-width:100%; border:1px solid var(--field-border); border-radius:var(--r-md); background:var(--bg-panel); color:var(--text); padding:12px; font:inherit; font-size:16px; line-height:1.5; }
.cdt-inputs textarea,.cdt-edit textarea,.cdt-copy-fallback textarea { resize:vertical; }
.cdt-inputs :is(input,textarea):focus,.cdt-edit textarea:focus,.cdt-copy-fallback textarea:focus { outline:2px solid var(--ring); outline-offset:2px; }
.cdt-inputs .cdt-field-hint,.cdt-optional { font-weight:400; color:var(--caption); font-size:var(--fs-xs); }
.cdt-inputs .cdt-field-hint { margin-top:6px; }
.cdt-note,.cdt-bottom,.cdt-review-note { font-size:var(--fs-sm); color:var(--caption); line-height:1.65; }
.cdt-note { margin-top:24px; }
.cdt-review-link { display:inline-flex; gap:12px; margin-top:20px; }
.cdt-review-note { padding:22px 24px; background:var(--paper); border-radius:var(--r-lg); margin:0 0 24px; }
.cdt-review-note strong { color:var(--ink); font-weight:500; }
.cdt-review-note p { margin:8px 0 0; }
.cdt-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; padding:0 0 16px; }
.cdt-draft-label { font-size:var(--fs-sm); font-weight:500; color:var(--ink); }
.cdt-toolbar p { font-size:var(--fs-xs); color:var(--caption); margin:4px 0 0; }
.cdt-actions { display:flex; flex-wrap:wrap; gap:8px; }
.cdt-actions .btn { font-size:var(--fs-sm); min-height:42px; padding:10px 14px; }
.cdt-action-status { margin:0 0 12px; color:var(--caption); font-size:var(--fs-sm); }
.cdt-action-status:empty { display:none; }
.cdt-paper { background:var(--bg-panel); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-sm); padding:clamp(24px,4vw,52px); scroll-margin-top:100px; overflow-wrap:anywhere; }
.cdt-paper-eyebrow { font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.1em; color:var(--caption); }
.cdt-paper h2 { font-family:var(--font-display); font-weight:var(--font-display-weight); font-size:clamp(30px,3vw,42px); line-height:1.14; letter-spacing:-.03em; margin:14px 0; }
.cdt-paper-status { font-size:var(--fs-xs); color:var(--caption); line-height:1.6; }
.cdt-parties { display:grid; grid-template-columns:1fr 1fr; gap:24px; border-block:1px solid var(--line); padding-block:24px; margin-block:28px; }
.cdt-parties dt { font-size:var(--fs-xs); color:var(--caption); margin-bottom:8px; }
.cdt-parties dd { margin:0; font-size:var(--fs-sm); }
.cdt-parties strong { font-weight:500; }
.cdt-parties span { display:block; white-space:pre-wrap; margin-top:8px; color:var(--caption); }
.cdt-clauses section { padding-block:16px; }
.cdt-clauses h3,.cdt-signatures h3 { font-size:var(--fs-sm); font-weight:600; line-height:1.45; margin:0 0 10px; }
.cdt-clause-body { font-size:var(--fs-sm); line-height:1.85; white-space:pre-wrap; margin:0; }
.cdt-edit { margin-top:12px; font-size:var(--fs-xs); color:var(--caption); }
.cdt-edit summary { width:fit-content; cursor:pointer; padding-block:5px; }
.cdt-edit label { display:block; margin:12px 0 8px; font-size:var(--fs-sm); }
.cdt-edit textarea { min-height:180px; margin-bottom:8px; }
.cdt-edit p { margin:8px 0; }
.cdt-text-button { padding:8px 0; background:none; color:var(--gold-deep); border:0; font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.cdt-signatures { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:36px; padding-top:28px; border-top:1px solid var(--line); font-size:var(--fs-xs); }
.cdt-signatures p { margin:18px 0; }
.cdt-paper-foot { margin:30px 0 0; font-size:var(--fs-xs); color:var(--caption); }
.cdt-bottom { display:flex; justify-content:space-between; align-items:baseline; gap:20px; margin-top:16px; }
.cdt-bottom p { margin:0; }
.cdt-bottom button { flex-shrink:0; }
.cdt-next { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-block:48px; border-top:1px solid var(--line); }
.cdt-next > div { max-width:600px; }
.cdt-next h2,.cdt-faq h2 { font:var(--font-display-weight) clamp(28px,3vw,40px)/1.13 var(--font-display); letter-spacing:-.03em; margin:12px 0 20px; }
.cdt-next p:not(.kicker) { color:var(--caption); }
.cdt-next .btn { flex-shrink:0; }
.cdt-faq { padding-block:40px 64px; }
.cdt-faq .faq { max-width:850px; }
.contract-tool:not(.cdt-ready) .cdt-interactive { display:none; }
.contract-tool:not(.cdt-ready) .cdt-workspace { grid-template-columns:minmax(0,900px); justify-content:center; }
.contract-tool [hidden] { display:none !important; }
@media(max-width:1000px) {
    .cdt-templates { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .cdt-workspace { grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:24px; }
    .cdt-actions { width:100%; }
}
@media(max-width:700px) {
    .cdt-workspace { grid-template-columns:1fr; }
    .cdt-inputs { padding-top:20px; }
    .cdt-templates a { padding:16px; }
    .cdt-templates strong { font-size:var(--fs-body); }
    .cdt-templates a > span:last-child { font-size:var(--fs-xs); }
    .cdt-parties,.cdt-signatures { grid-template-columns:1fr; gap:20px; }
    .cdt-next { align-items:flex-start; flex-direction:column; gap:20px; }
    .cdt-bottom { flex-direction:column; gap:8px; }
    .cdt-actions .btn { flex:1 1 auto; }
}
@media print {
    @page { margin:18mm; }
    body.site > :not(main),body.site main > :not(.contract-tool),.contract-tool > :not(.cdt-workspace),
    .cdt-inputs,.cdt-review-note,.cdt-toolbar,.cdt-action-status,.cdt-copy-fallback,.cdt-bottom,.cdt-edit,noscript { display:none !important; }
    body.site,body.site main,.contract-tool,.cdt-workspace,.cdt-draft-area { display:block !important; width:auto !important; max-width:none !important; margin:0 !important; padding:0 !important; background:var(--bg-panel) !important; }
    .cdt-paper { border:0; border-radius:0; box-shadow:none; padding:0; overflow:visible; }
    .cdt-paper h2 { font-size:28pt; }
    .cdt-paper :is(p,dd,h3) { font-size:10pt; }
    .cdt-paper .cdt-paper-eyebrow,.cdt-paper .cdt-paper-status,.cdt-paper .cdt-paper-foot { font-size:8pt; }
    .cdt-parties,.cdt-signatures { grid-template-columns:1fr 1fr; break-inside:avoid; }
    .cdt-clauses h3 { break-after:avoid; }
    .cdt-clause-body { orphans:3; widows:3; }
    .cdt-signatures { margin-top:24pt; }
}
