/* TWF agreement builder styles (#agreement-builder.twfagree--full).
   Site kit build of the style block in design/pb/variant-agreement.html, unchanged, followed by the site-context
   block. Generated by design/site-kit/build-kit.mjs; do not edit by hand.
   Uses the design tokens from /shared.css (--gold, --navy, --cream, --font-display and the rest). */

/* ---- builder (prototype style block twfagree-style) ---- */
@media(max-width:1100px){.twfagree-doc table{display:block;overflow-x:auto;max-width:100%}}
.twfagree--full{background:linear-gradient(180deg,var(--navy) 0%,var(--navy-light) 100%);padding:84px 24px 96px;color:var(--text-light);font-family:var(--font-body);line-height:1.5;position:relative}
.twfagree--full *,.twfagree--full *::before,.twfagree--full *::after{box-sizing:border-box}
.twfagree--full [hidden]{display:none !important}
.twfagree--full :focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.twfagree-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.twfagree-wrap{max-width:1180px;margin:0 auto}
.twfagree-head{text-align:center;margin-bottom:22px}
.twfagree-eyebrow{font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.twfagree-h2{font-family:var(--font-display);font-weight:500;font-size:clamp(30px,4vw,44px);line-height:1.12;color:var(--white);margin:0}
.twfagree-sub{font-size:17px;line-height:1.55;color:var(--text-dim);margin:12px auto 0;max-width:700px}
.twfagree-rail{margin:0 0 24px}
.twfagree-rail-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.twfagree-rail-btn{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(12,18,32,.5);color:var(--text-dim);font-family:inherit;font-size:14px;line-height:1.25;font-weight:600;text-align:left;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease)}
.twfagree-rail-btn:hover:not([disabled]){border-color:rgba(201,168,76,.6)}
.twfagree-rail-btn[disabled]{cursor:not-allowed;color:var(--text-dim)}
.twfagree-rail-btn[aria-current="step"]{border-color:var(--gold);background:rgba(201,168,76,.14);color:var(--white)}
.twfagree-rail-btn--done{color:var(--text-light)}
.twfagree-rail-n{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,168,76,.6);color:var(--gold);font-size:13px;font-weight:700}
.twfagree-rail-btn[aria-current="step"] .twfagree-rail-n{background:var(--gold);color:var(--navy)}
.twfagree-rail-btn--done .twfagree-rail-n{background:rgba(201,168,76,.25)}
.twfagree-rail-compact{display:none}
.twfagree-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px;align-items:start}
.twfagree-main{background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.45);border-radius:18px;padding:30px;min-width:0}
.twfagree-side{position:sticky;top:24px;min-width:0}
.twfagree-card{background:var(--cream);color:var(--navy);border-radius:18px;padding:22px 22px 24px;box-shadow:0 30px 80px -30px rgba(201,168,76,.45)}
.twfagree-card :focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.twfagree-card-eyebrow{font-size:13px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--gold-text);margin:0 0 10px}
.twfagree-card-doc{font-family:var(--font-display);font-weight:500;font-size:22px;line-height:1.2;color:var(--navy);margin:0}
.twfagree-card-tier{font-size:14px;line-height:1.5;color:var(--text-muted);margin:4px 0 12px}
.twfagree-card-rates{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
.twfagree-card-rate{padding:8px 10px;border-radius:8px;background:rgba(12,18,32,.06);min-width:0}
.twfagree-card-rate > span{display:block;font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted)}
.twfagree-card-rate strong{display:block;font-family:var(--font-display);font-weight:500;font-size:22px;color:var(--navy);line-height:1.1;margin-top:2px}
.twfagree-card-rate em{display:block;font-style:normal;font-size:13px;line-height:1.3;color:var(--gold-text);font-weight:600;font-family:var(--font-body);margin-top:2px}
.twfagree-card-dl{margin:0;display:grid;gap:8px;border-top:1px solid rgba(12,18,32,.14);padding-top:12px}
.twfagree-card-dl div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;font-size:14px;line-height:1.45}
.twfagree-card-dl dt{margin:0;color:var(--text-muted);font-weight:700;font-size:13px;letter-spacing:.6px;text-transform:uppercase;padding-top:2px}
.twfagree-card-dl dd{margin:0;color:var(--navy)}
.twfagree-card-fine{font-size:13px;line-height:1.5;color:var(--text-muted);margin:12px 0 0}
.twfagree-card-fine a{color:var(--navy);font-weight:700}
.twfagree-chip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 14px;border-radius:12px;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.5);font-size:14px;line-height:1.45;color:var(--text-light);margin:0 0 18px}
.twfagree-chip strong{color:var(--gold);font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:13px}
.twfagree-chip a{color:var(--gold-light);font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.twfagree-step-h{font-family:var(--font-display);font-weight:500;font-size:26px;line-height:1.2;color:var(--white);margin:0 0 6px}
.twfagree-step-p{font-size:15px;line-height:1.55;color:var(--text-dim);margin:0 0 22px}
.twfagree-group{border:0;padding:0;margin:0 0 28px;min-width:0}
.twfagree-h4{font-family:var(--font-display);font-weight:500;font-size:20px;line-height:1.2;color:var(--white);margin:0 0 4px;padding:0}
.twfagree-group-hint{font-size:14px;line-height:1.5;color:var(--text-dim);margin:0 0 14px}
.twfagree-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.twfagree-field{min-width:0}
.twfagree-field--wide{grid-column:1 / -1}
.twfagree-field label,.twfagree-lab{display:block;font-size:13px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.twfagree-field label small{font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-dim);font-size:13px}
.twfagree-lab small{font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-dim)}
.twfagree-field input,.twfagree-field select,.twfagree-field textarea{width:100%;min-height:50px;background:rgba(12,18,32,.85);border:1px solid rgba(255,255,255,.22);border-radius:10px;color:var(--white);font-size:16px;padding:0 14px;font-family:inherit;color-scheme:dark}
.twfagree-field textarea{padding:12px 14px;min-height:96px;resize:vertical;line-height:1.5}
.twfagree-field input[aria-invalid="true"],.twfagree-field select[aria-invalid="true"],.twfagree-field textarea[aria-invalid="true"]{border-color:var(--gold-light);box-shadow:inset 0 0 0 1px var(--gold-light)}
.twfagree-hint{font-size:13px;line-height:1.5;color:var(--text-dim);margin:6px 0 0}
.twfagree-hint a{color:var(--gold-light);font-weight:600}
.twfagree-err{font-size:13px;line-height:1.5;color:var(--gold-light);font-weight:600;margin:6px 0 0}
.twfagree-summary{margin:0 0 18px;padding:14px 16px;border-radius:10px;border-left:4px solid var(--red-emergency);background:rgba(192,57,43,.16);font-size:14px;line-height:1.5;color:var(--text-light)}
.twfagree-summary strong{color:var(--white)}
.twfagree-summary ul{margin:8px 0 0;padding-left:20px}
.twfagree-summary li{margin:2px 0}
.twfagree-summary a{color:var(--gold-light);font-weight:600}
.twfagree--full input.twfagree-segin{position:absolute;opacity:0;width:1px;height:1px;min-height:0;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.twfagree-segwrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:rgba(0,0,0,.35);border:1px solid rgba(201,168,76,.5);border-radius:12px}
.twfagree-segl{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50px;border-radius:9px;font-size:15px;font-weight:600;color:var(--text-light);text-align:center;padding:6px 10px;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease)}
.twfagree-segl small{display:block;font-size:13px;font-weight:500;color:var(--text-dim);margin-top:2px}
.twfagree-segl:hover{background:rgba(201,168,76,.14)}
.twfagree-segin:checked+.twfagree-segl{background:var(--gold);color:var(--navy)}
.twfagree-segin:checked+.twfagree-segl small{color:var(--navy)}
.twfagree-segin:focus-visible+.twfagree-segl{outline:2px solid var(--gold);outline-offset:3px}
.twfagree-yn{border:0;padding:0;margin:0;min-width:0}
.twfagree-yn-legend{font-size:15px;font-weight:600;line-height:1.4;color:var(--white);padding:0;margin:0 0 4px}
.twfagree-yn-text{font-size:14px;line-height:1.5;color:var(--text-dim);margin:0 0 10px}
.twfagree-yn-wrap{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:rgba(0,0,0,.35);border:1px solid rgba(201,168,76,.5);border-radius:11px;min-width:176px;vertical-align:middle}
.twfagree-yn-wrap .twfagree-segl{min-height:44px;font-size:14px;padding:6px 14px}
.twfagree-elect--wide{grid-template-columns:minmax(0,1fr)}
.twfagree-yn-wrap--wide{display:grid;width:100%;max-width:440px;min-width:0}
.twfagree-yn-wrap--wide .twfagree-segl{line-height:1.3}
.twfagree-accom-note{margin-top:2px}
.twfagree-elist{display:grid;gap:12px}
.twfagree-elect{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;align-items:center;padding:14px 16px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(12,18,32,.5)}
.twfagree-elect-t{font-size:15px;font-weight:600;color:var(--white);margin:0 0 2px}
.twfagree-elect-x{font-size:13px;line-height:1.5;color:var(--text-dim);margin:0}
.twfagree-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.twfagree-check{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(12,18,32,.5);font-size:15px;line-height:1.3;color:var(--text-light);cursor:pointer}
.twfagree-check input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--gold)}
.twfagree-check small{display:block;font-size:13px;color:var(--text-dim)}
.twfagree-check--locked{border-color:rgba(201,168,76,.5)}
.twfagree-ack{display:flex;gap:12px;align-items:flex-start;margin:12px 0 0;padding:14px 16px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(12,18,32,.6);font-size:14px;line-height:1.55;color:var(--text-light);cursor:pointer;min-height:44px}
.twfagree-ack input{width:22px;height:22px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--gold)}
.twfagree-ack--alt{background:rgba(201,168,76,.08);border-color:rgba(201,168,76,.45)}
.twfagree-tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.twfagree-tier{position:relative;min-width:0}
.twfagree-tier-l{display:block;height:100%;padding:18px 18px 16px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(12,18,32,.55);cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease)}
.twfagree-tier-l:hover{border-color:rgba(201,168,76,.6)}
.twfagree-segin:checked+.twfagree-tier-l{border-color:var(--gold);background:rgba(201,168,76,.12);box-shadow:inset 0 0 0 1px var(--gold)}
.twfagree-segin:focus-visible+.twfagree-tier-l{outline:2px solid var(--gold);outline-offset:3px}
.twfagree-tier-pick{position:absolute;top:14px;right:14px;font-size:13px;font-weight:700;color:var(--navy);background:var(--gold);border-radius:999px;padding:4px 10px;display:none}
.twfagree-segin:checked+.twfagree-tier-l .twfagree-tier-pick{display:block}
.twfagree-tier-name{display:block;font-family:var(--font-display);font-size:22px;color:var(--white);line-height:1.15;padding-right:86px}
.twfagree-tier-doc{display:block;font-size:13px;color:var(--gold);font-weight:700;letter-spacing:.8px;text-transform:uppercase;margin-top:6px}
.twfagree-tier-rates{margin:14px 0 10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.twfagree-tier-rate{display:block;padding:8px 10px;border-radius:8px;background:rgba(0,0,0,.28);min-width:0}
.twfagree-tier-rate > span{display:block;font-size:13px;color:var(--text-dim);letter-spacing:.6px;text-transform:uppercase;font-weight:700}
.twfagree-tier-rate strong{display:block;font-family:var(--font-display);font-weight:500;font-size:20px;color:var(--white);line-height:1.1;margin-top:2px}
.twfagree-tier-rate em{display:block;font-style:normal;font-size:13px;line-height:1.3;color:var(--gold-light);font-weight:600;font-family:var(--font-body);margin-top:2px}
.twfagree-fields + .twfagree-group{margin-top:26px}
.twfagree-summary a,.twfagree-privacy a,.twfagree-note a,.twfagree-done-p a,.twfagree-errbox a,.twfagree-hint a,.twfagree-card-fine a{display:inline-block;padding:12px 0;margin:-12px 0}
.twfagree-tier-meta{display:grid;gap:4px;font-size:14px;line-height:1.4;color:var(--text-light)}
.twfagree-tier-meta span span{color:var(--text-dim)}
.twfagree-tier-meta b{font-weight:600}
.twfagree-tier-means{display:block;font-size:14px;line-height:1.5;color:var(--text-dim);margin:10px 0 0}
.twfagree-sub-choice{margin:14px 0 0;padding:16px 18px;border:1px solid rgba(201,168,76,.45);border-radius:12px;background:rgba(201,168,76,.06)}
.twfagree-note{margin:14px 0 0;padding:14px 16px;border-radius:10px;border-left:4px solid var(--gold);background:rgba(201,168,76,.12);font-size:14px;line-height:1.6;color:var(--text-light)}
.twfagree-note strong{color:var(--white)}
.twfagree-note--rapid{border-left-color:var(--red-emergency);background:rgba(192,57,43,.16)}
.twfagree-note a{color:var(--gold-light);font-weight:700}
.twfagree-rep{display:grid;gap:10px;margin:0 0 10px}
.twfagree-rep-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:10px 12px;align-items:end;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(12,18,32,.45)}
.twfagree-rep-row--eng{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.twfagree-rep-first{font-size:13px;color:var(--gold-light);font-weight:600;align-self:center;padding-bottom:14px}
.twfagree-btn-ghost{min-height:44px;padding:0 14px;border:1px solid rgba(201,168,76,.55);background:transparent;color:var(--gold);border-radius:8px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s var(--ease)}
.twfagree-btn-ghost:hover{background:rgba(201,168,76,.15)}
.twfagree-hc{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.twfagree-hc-total{font-size:15px;font-weight:600;color:var(--white);margin:12px 0 0}
.twfagree-nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14)}
.twfagree-nav-right{display:flex;flex-wrap:wrap;gap:12px;margin-left:auto}
.twfagree-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border:0;border-radius:10px;background:var(--gold);color:var(--navy);font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;text-decoration:none;transition:background .2s var(--ease)}
.twfagree-btn:hover{background:var(--gold-light)}
.twfagree-btn--secondary{background:transparent;color:var(--text-light);border:1px solid rgba(255,255,255,.3)}
.twfagree-btn--secondary:hover{background:rgba(255,255,255,.06)}
.twfagree-btn[disabled]{cursor:wait;opacity:.7}
.twfagree-privacy{font-size:13px;line-height:1.55;color:var(--text-dim);margin:22px 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}
.twfagree-privacy a{color:var(--gold-light);font-weight:600}
.twfagree-effect{margin:0 0 18px;padding:16px 18px;border:1px solid rgba(201,168,76,.45);border-radius:12px;background:rgba(201,168,76,.06)}
.twfagree-effect-h{font-family:var(--font-display);font-weight:500;font-size:20px;color:var(--white);margin:0 0 10px}
.twfagree-effect dl{margin:0;display:grid;gap:6px}
.twfagree-effect div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;font-size:14px;line-height:1.5}
.twfagree-effect dt{margin:0;color:var(--gold);font-weight:700;font-size:13px;letter-spacing:.8px;text-transform:uppercase;padding-top:2px}
.twfagree-effect dd{margin:0;color:var(--text-light)}
.twfagree-banner{padding:14px 16px;border-radius:10px 10px 0 0;background:var(--gold);color:var(--navy);font-size:14px;line-height:1.5;font-weight:600}
.twfagree-banner strong{font-weight:700;letter-spacing:1.4px;text-transform:uppercase;font-size:13px;display:block;margin-bottom:2px}
.twfagree-doc{background:var(--white);color:var(--navy);border-radius:0 0 12px 12px;padding:44px 48px;max-height:1100px;overflow:auto;position:relative;font-size:14px;line-height:1.6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='560' height='560'%3E%3Ctext x='280' y='292' text-anchor='middle' transform='rotate(-30 280 280)' font-family='Georgia,serif' font-size='36' font-weight='700' fill='rgba(201,168,76,0.22)'%3EDRAFT, pending TWF approval%3C/text%3E%3C/svg%3E");background-repeat:repeat;background-size:560px 560px}
.twfagree-doc-scrollhint{font-size:13px;color:var(--text-dim);margin:8px 0 0}
.twfagree-doc-cover{text-align:center;padding:26px 0 36px;border-bottom:2px solid var(--gold);margin-bottom:30px}
.twfagree-doc-kicker{font-size:13px;letter-spacing:4px;text-transform:uppercase;color:var(--gold-text);font-weight:700;margin:0 0 18px}
.twfagree-doc-cover-name{font-family:var(--font-display);font-weight:500;font-size:28px;line-height:1.2;margin:0 0 6px}
.twfagree-doc-cover-name span{display:block;font-size:16px;color:var(--text-muted);font-family:var(--font-body);margin:6px 0}
.twfagree-doc-title{font-family:var(--font-display);font-size:22px;font-weight:500;margin:16px 0 8px}
.twfagree-doc-draft{display:inline-block;margin:6px 0 10px;padding:6px 12px;border:2px solid var(--red-emergency);color:var(--red-emergency);border-radius:6px;font-size:13px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}
.twfagree-doc-meta{font-size:13px;line-height:1.5;color:var(--text-muted);margin:4px 0 0}
.twfagree-doc-sec{margin:0 0 28px}
.twfagree-doc-h1{font-family:var(--font-display);font-weight:600;font-size:20px;line-height:1.25;margin:0 0 10px;color:var(--navy)}
.twfagree-doc-h2{font-weight:700;font-size:15px;margin:14px 0 6px}
.twfagree-doc p{margin:0 0 10px}
.twfagree-doc ul{margin:0 0 10px;padding-left:22px}
.twfagree-doc li{margin-bottom:4px}
.twfagree-doc table{width:100%;border-collapse:collapse;margin:8px 0 14px;font-size:14px}
.twfagree-doc th,.twfagree-doc td{text-align:left;padding:8px 10px;border-bottom:1px solid rgba(12,18,32,.15);vertical-align:top}
.twfagree-doc th{font-size:13px;letter-spacing:.8px;text-transform:uppercase;color:var(--gold-text);border-bottom:2px solid var(--gold)}
.twfagree-doc-box{display:inline-block;min-width:22px;height:22px;line-height:20px;text-align:center;border:1px solid var(--navy);border-radius:3px;font-size:13px;font-weight:700;margin-right:6px;vertical-align:middle}
.twfagree-doc-box--on{background:var(--navy);color:var(--white)}
.twfagree-doc-el{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px 16px;padding:10px 0;border-bottom:1px solid rgba(12,18,32,.1);align-items:center}
.twfagree-doc-el-t{font-weight:700;margin:0 0 2px}
.twfagree-doc-el-x{font-size:13px;line-height:1.5;color:var(--text-muted);margin:0}
.twfagree-doc-el-c{white-space:nowrap;text-align:right;font-size:13px;font-weight:700}
.twfagree-doc-el--opts{grid-template-columns:minmax(0,1fr) 200px}
.twfagree-doc-el--opts .twfagree-doc-el-c{white-space:normal;text-align:left}
.twfagree-doc-opt{display:block;margin:2px 0}
.twfagree-doc-a3{display:grid;grid-template-columns:170px minmax(0,1fr);gap:10px 14px;font-size:14px;margin:0}
.twfagree-doc-a3 dt{font-weight:700;color:var(--navy)}
.twfagree-doc-a3 dd{margin:0}
.twfagree-doc-a3 small{display:block;font-size:13px;color:var(--text-muted)}
.twfagree-doc-sig{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:10px}
.twfagree-doc-sig p{margin:0}
.twfagree-doc-sigl{display:block;border-bottom:1px solid var(--navy);height:34px;margin:16px 0 4px}
.twfagree-doc-sig small{display:block;font-size:13px;color:var(--text-muted)}
.twfagree-doc-inactive{padding:10px 12px;background:rgba(201,168,76,.15);border-left:3px solid var(--gold);font-size:13px;line-height:1.5;margin:14px 0 0}
.twfagree-doc p.twfagree-doc-gate{padding:12px 14px;background:rgba(201,168,76,.15);border-left:3px solid var(--gold);font-size:14px;line-height:1.5;font-weight:600;color:var(--navy);margin:8px 0 14px}
.twfagree-doc-foot{margin-top:30px;padding-top:12px;border-top:1px solid rgba(12,18,32,.2);font-size:13px;line-height:1.5;color:var(--text-muted)}
.twfagree-doc-print-foot,.twfagree-doc-print-wm{display:none}
.twfagree-review{margin:18px 0 0;padding:16px 18px;border:1px dashed rgba(201,168,76,.6);border-radius:12px;background:rgba(201,168,76,.06)}
.twfagree-review-h{font-size:13px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.twfagree-review ul{margin:0;padding-left:20px;font-size:14px;line-height:1.55;color:var(--text-light)}
.twfagree-review li{margin:0 0 4px}
.twfagree-honey{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.twfagree-print-note{font-size:13px;line-height:1.5;color:var(--text-dim);margin:0;flex:1;min-width:240px}
.twfagree-nav--print{justify-content:flex-start;align-items:center;margin-top:18px;padding-top:18px}
.twfagree-errbox{margin:12px 0 0;padding:12px 14px;border-radius:6px;border-left:3px solid var(--red-emergency);background:rgba(192,57,43,.16);font-size:14px;line-height:1.55;color:var(--text-light)}
.twfagree-errbox a{color:var(--gold-light);font-weight:700}
.twfagree-done{padding:26px 28px;border:1px solid rgba(201,168,76,.5);border-radius:14px;background:rgba(201,168,76,.08);margin:0 0 22px}
.twfagree-done-h{font-family:var(--font-display);font-weight:500;font-size:28px;line-height:1.2;color:var(--white);margin:0 0 10px}
.twfagree-done-p{font-size:15px;line-height:1.6;color:var(--text-light);margin:0 0 10px}
.twfagree-done-p strong{color:var(--gold-light)}
.twfagree-done-p a{color:var(--gold-light);font-weight:700}
.twfagree-done-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
@media(prefers-reduced-motion:reduce){.twfagree--full *{transition:none !important;scroll-behavior:auto !important}}
@media(max-width:900px){
  .twfagree--full{padding:56px 16px 72px}
  .twfagree-grid{grid-template-columns:1fr;gap:20px}
  .twfagree-main{padding:22px 16px}
  .twfagree-side{position:static}
  .twfagree-rail-list{display:flex;gap:6px}
  .twfagree-rail-btn{min-height:44px;min-width:44px;padding:0;justify-content:center;flex:1}
  .twfagree-rail-l{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .twfagree-rail-compact{display:block;margin-top:10px;font-size:14px;line-height:1.4;color:var(--text-light);font-weight:600}
  .twfagree-tiers{grid-template-columns:1fr}
  .twfagree-rep-row,.twfagree-rep-row--eng{grid-template-columns:1fr}
  .twfagree-doc{padding:22px 16px;max-height:70vh}
  .twfagree-doc table{display:block;overflow-x:auto;max-width:100%}
  .twfagree-doc th,.twfagree-doc td{min-width:96px}
  .twfagree-doc-cover-name{font-size:24px}
  .twfagree-doc-a3{grid-template-columns:1fr;gap:2px 0}
  .twfagree-doc-a3 dd{margin-bottom:8px}
  .twfagree-doc-el{grid-template-columns:1fr}
  .twfagree-doc-el-c{text-align:left}
  .twfagree-doc-sig{grid-template-columns:1fr}
  .twfagree-effect div{grid-template-columns:1fr;gap:2px}
}
@media(max-width:560px){
  .twfagree-fields{grid-template-columns:1fr}
  .twfagree-elect{grid-template-columns:1fr}
  .twfagree-nav{flex-direction:column;align-items:stretch}
  .twfagree-nav-right{margin-left:0;flex-direction:column}
  .twfagree-btn{width:100%}
  .twfagree-done-actions .twfagree-btn{width:100%}
  .twfagree-tier-name{padding-right:0}
  .twfagree-tier-pick{position:static;display:none;margin:0 0 8px}
  .twfagree-segin:checked+.twfagree-tier-l .twfagree-tier-pick{display:inline-block}
}
@media print{
  .twfagree--full{background:#fff;padding:0;color:#000}
  body *{visibility:hidden}
  .twfagree-docwrap,.twfagree-docwrap *{visibility:visible}
  .twfagree-docwrap{position:absolute;left:0;top:0;width:100%}
  .twfagree-banner{border-radius:0;color:#000;background:#eee;border:1px solid #999}
  .twfagree-doc{max-height:none;overflow:visible;border-radius:0;padding:0 4mm;background-image:none;color:#000}
  .twfagree-doc-cover{break-after:page}
  .twfagree-doc-sec,.twfagree-doc table{break-inside:avoid}
  .twfagree-doc-print-wm{display:block;position:fixed;top:42%;left:0;right:0;text-align:center;transform:rotate(-30deg);font-family:var(--font-display);font-size:54px;color:rgba(201,168,76,.4);z-index:1}
  .twfagree-doc-print-foot{display:block;position:fixed;bottom:0;left:0;right:0;font-size:12px;text-align:center;padding:6px 0;color:#444;border-top:1px solid #999;background:#fff}
  .twfagree-doc-scrollhint{display:none}
}

/* ---- site context ----
   The live pages load /shared.css (a reset: margin and padding 0 on every element, links without underline, tel
   links as 10px padded blocks) and /premium.css (text fields squared to a 2px radius on focus). These rules put back
   what the prototype shows where that CSS reaches into the builder. They use the section id, so they win in any
   stylesheet order. Measured with test/style-diff.mjs (prototype against kit under site CSS). The site's two-tone
   focus ring on links and buttons (premium.css, !important) is kept: it is the site's policy. */

/* In-text links keep the underline that marks them inside a sentence; the builder's own 44px tap height wins over
   the site's 10px tel-link padding. */
#agreement-builder :is(.twfagree-summary,.twfagree-privacy,.twfagree-note,.twfagree-done-p,.twfagree-errbox,.twfagree-hint,.twfagree-card-fine) a{text-decoration:underline;display:inline-block;padding:12px 0;margin:-12px 0}
#agreement-builder .twfagree-chip a{text-decoration:underline}

/* Text fields keep their rounded corners on focus. */
#agreement-builder .twfagree-field input:focus-visible,#agreement-builder .twfagree-field select:focus-visible,#agreement-builder .twfagree-field textarea:focus-visible{border-radius:10px}

/* Spacing the prototype takes from the browser defaults, which the site reset removes. */
#agreement-builder legend.twfagree-lab{padding:0 2px}
#agreement-builder .twfagree-rail-compact{margin-bottom:1em}

/* Print: the prototype page hid its own chrome, so the draft printed from the top of page one. On a site page the
   header, hero and footer would still take space above it (the builder hides them with visibility, not display).
   This hides everything that neither holds nor sits inside the builder. A browser without :has() drops the rule and
   prints as the prototype does on a page that hides its own chrome. */
@media print{
  body :not(:has(#agreement-builder)):not(#agreement-builder):not(#agreement-builder *){display:none !important}
}
