/* Additions to the accepted design system, not a replacement design. */
.source-block{max-width:1120px;margin:auto;padding:58px 24px;border-top:1px solid var(--line);font-size:14px}
.source-block h2{font-size:28px}.split{display:grid;gap:24px}.split article,.note{padding:24px;background:#edf4f8;border-radius:16px}
.checks label{display:flex;gap:16px;align-items:flex-start;line-height:1.6}.checks input{width:23px;height:23px;min-height:23px;flex:none;margin:3px 0 0;accent-color:var(--accent)}
.checks label span{font-size:17px;color:var(--ink)}.checks input:checked+span{color:var(--muted)}
.worksheet{display:grid;grid-template-columns:1fr;gap:24px;max-width:100%}.worksheet-head h3{margin-top:0}
.worksheet fieldset{min-width:0;border:1px solid var(--line);border-radius:14px;padding:22px}.worksheet legend{padding:0 8px;font-weight:650}.cost-row{margin-bottom:18px}
.worksheet output{font-size:16px;line-height:1.55}.currency{max-width:240px}.actions{display:flex;flex-wrap:wrap;gap:12px}.outline{background:transparent;color:var(--ink);border:1px solid var(--muted)}
.button:disabled{background:#526872;cursor:not-allowed;opacity:.78}.consultation{background:#edf4f8}.next .button{margin:0 10px 12px 0}
.source-block a,.small,footer{overflow-wrap:anywhere}
@media(min-width:760px){.split,.worksheet{grid-template-columns:repeat(2,minmax(0,1fr))}.worksheet-head,.worksheet>.small,.worksheet>.actions{grid-column:1/-1}}
@media(max-width:420px){.source-block{padding-left:20px;padding-right:20px}.worksheet{padding:18px}.worksheet fieldset{padding:15px}}
@media print{header,nav,.preview,.button,.skip{display:none!important}.hero,.content,.material,.source-block,footer{padding:16px 0}.checks li{break-inside:avoid}.worksheet,.split{display:block}.worksheet fieldset{margin-bottom:16px}.district-photo{max-width:500px}}
/* Mobile controls remain readable without focus zoom and expose a full tap area. */
nav a{min-width:44px}
input,select{font-size:16px}
.checks label{min-height:44px;cursor:pointer}
.brand{flex-shrink:1;min-width:0;max-width:100%}.brand .brand-name{min-width:0;overflow-wrap:anywhere}.brand img{flex:none}
.topics{grid-template-columns:minmax(0,1fr)}.topic{min-width:0}.topic h2{overflow-wrap:anywhere}
@media(min-width:760px){.topics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:300px){nav{flex-wrap:wrap;gap:4px 12px}.button{overflow-wrap:anywhere}}
