:root{--ink:#193b30;--green:#17613d;--muted:#56665d;--line:#dce3dd;--wash:#f2f6f1;--paper:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:155px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--green);text-underline-offset:3px}a:hover{color:#0c452b}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #cf9e37;outline-offset:4px}.wrap,.header-inner{width:min(1200px,calc(100% - 48px));margin:auto}.skip{position:absolute;top:-80px;left:16px;background:#fff;padding:12px;z-index:10}.skip:focus{top:12px}header{border-bottom:1px solid var(--line)}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:24px;line-height:1.25;font-weight:750;color:var(--ink);text-decoration:none}.brand span{display:block;font-size:12px;font-weight:450;letter-spacing:.06em;margin-top:7px}header nav{display:flex;gap:24px;font-size:14px}header nav a{text-decoration:none}.hero{padding:28px 0 40px;background:var(--wash);border-bottom:1px solid var(--line)}.breadcrumb{font-size:13px;margin:0 0 32px;color:var(--muted)}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.1em;color:var(--green)}h1{font-size:clamp(34px,4.5vw,60px);line-height:1.1;letter-spacing:-.035em;margin:18px 0 14px}.intro{font-size:25px;line-height:1.3;margin:20px 0 12px}.parties{font-size:15px;color:var(--muted);margin:0 0 28px}.read-button{display:inline-flex;gap:24px;align-items:center;border-radius:6px;background:var(--green);color:#fff;font-weight:650;text-decoration:none;padding:12px 20px}.read-button:hover{background:#104a2f;color:#fff}.source-details{font-size:13px;color:var(--muted);margin-top:24px;max-width:740px}.source-details summary{cursor:pointer;display:list-item}.source-details p{margin-bottom:0}.reader-controls{position:sticky;top:0;z-index:4;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 14px #193b3008}.controls-inner{display:flex;gap:32px;align-items:center;padding-top:14px;padding-bottom:14px}#contract-find{flex:1;max-width:650px}label{font-size:13px;font-weight:650;display:block;margin-bottom:6px}.find-row{display:flex;gap:8px}input{font:inherit;min-width:0;flex:1;border:1px solid #9aafa0;border-radius:5px;padding:9px 12px;background:#fff}button{font:inherit;font-size:14px;font-weight:600;color:var(--green);background:#fff;border:1px solid #9aafa0;padding:9px 14px;border-radius:5px;cursor:pointer}button:hover:enabled{background:var(--wash)}button:disabled{opacity:.45;cursor:default}.find-row button{background:var(--green);color:#fff;border-color:var(--green)}.find-row button:hover:enabled{background:#104a2f}.match-controls{min-width:210px}.match-controls p{font-size:13px;margin:0 0 6px}.match-controls>div{display:flex;gap:6px}.match-controls button{padding:4px 12px}.reader-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:40px;align-items:start;padding-top:40px;padding-bottom:64px}.contents{position:sticky;top:145px;max-height:calc(100vh - 175px);overflow:auto;padding-right:14px;font-size:13px}.contents summary{font-size:15px;font-weight:700;cursor:pointer;margin-bottom:16px}.contents ol{list-style:none;padding:0;margin:0}.contents li+li{margin-top:14px}.contents a{text-decoration:none;display:block;line-height:1.45}.contents a:hover{text-decoration:underline}.document{min-width:0}#contract-text{border:1px solid var(--line);border-radius:8px;padding:clamp(22px,4vw,48px);color:#23362d;overflow-wrap:anywhere}#contract-text:focus{outline:none}.source-paragraph{font-size:16px;line-height:1.8;margin:0 0 16px;white-space:normal}h2.source-paragraph{font-size:22px;line-height:1.35;margin-top:36px;margin-bottom:22px;padding-top:22px;border-top:1px solid var(--line);color:var(--ink);scroll-margin-top:155px}.source-marker{font-size:12px;color:var(--muted);text-align:center;letter-spacing:.04em;margin:22px 0}.source-image{display:block;max-width:100%;height:auto;margin:10px 0}.table-scroll{overflow-x:auto;margin:24px -8px;max-width:calc(100% + 16px);border:1px solid var(--line);border-radius:4px}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}td{border:1px solid var(--line);padding:9px 12px;min-width:95px;vertical-align:top}tr:first-child td{background:var(--wash)}td .source-paragraph{font-size:13px;line-height:1.55;margin:0}td .source-paragraph+.source-paragraph{margin-top:7px}td .source-image{margin:0}td h2.source-paragraph{border:0;padding:0;margin:0}td .table-scroll{margin:10px 0;max-width:100%}mark.contract-match{background:#fae7a6;color:inherit;padding:0;border-radius:2px}mark.contract-match.current{background:#f2b96a;outline:2px solid #b9791e;outline-offset:1px;scroll-margin-top:165px}.end-note{margin:26px 0 0;font-size:13px;color:var(--muted)}footer{border-top:1px solid var(--line);font-size:13px;color:var(--muted);padding:24px 0}footer .wrap{display:flex;justify-content:space-between;gap:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:900px){.reader-layout{grid-template-columns:1fr;gap:24px}.contents{position:static;max-height:260px;border-bottom:1px solid var(--line);padding-bottom:22px}.contents ol{columns:2;column-gap:28px}.contents li{break-inside:avoid}.controls-inner{gap:18px}.match-controls{min-width:170px}}
@media(max-width:600px){.wrap,.header-inner{width:calc(100% - 32px)}.header-inner{min-height:86px;align-items:flex-start;padding-top:20px;padding-bottom:20px}.brand{font-size:20px}header nav{gap:10px;flex-direction:column;font-size:12px}.hero{padding-bottom:28px}.breadcrumb{margin-bottom:24px}.intro{font-size:22px}.controls-inner{display:block;padding-top:10px;padding-bottom:10px}.match-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.match-controls p{margin:0}.contents ol{columns:1}.reader-layout{padding-top:24px;gap:18px}#contract-text{padding:22px 18px}.source-paragraph{font-size:15px}.table-scroll{margin-left:-10px;margin-right:-10px;max-width:calc(100% + 20px)}footer .wrap{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,.hero,.reader-controls,.contents,footer,.end-note,.skip{display:none!important}.wrap{width:100%}.reader-layout{display:block;padding:0}#contract-text{padding:0;border:0}h2.source-paragraph{break-after:avoid}td{break-inside:avoid}.table-scroll{overflow:visible;max-width:100%;margin:16px 0}mark.contract-match{background:transparent!important;outline:0!important}}
