.pgp-page{--pgp-ink:#234627;--pgp-accent:#234627;--pgp-soft:#edf4eb;--pgp-line:#dedede;max-width:1180px;margin:0 auto;background:#fff;color:var(--pgp-ink);font:400 17px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:24px;isolation:isolate}
.pgp-page *{box-sizing:border-box}.pgp-page [hidden]{display:none!important}.pgp-page h1,.pgp-page h2,.pgp-page h3,.pgp-page h4{color:var(--pgp-ink);font-family:inherit;line-height:1.18;letter-spacing:-.025em;margin:0 0 18px;font-weight:750;overflow-wrap:anywhere}.pgp-page h1{font-size:clamp(32px,4.8vw,58px);max-width:870px}.pgp-page h2{font-size:clamp(25px,3vw,36px);margin-top:42px}.pgp-page h3{font-size:24px;margin-top:26px}.pgp-page h4{font-size:19px;margin-top:22px}.pgp-page p{margin:0 0 18px}.pgp-page a{color:#234627;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.pgp-page a:hover{background:var(--pgp-soft)}.pgp-page li{margin-bottom:9px}.pgp-page ul,.pgp-page ol{padding-left:25px}.pgp-page :focus-visible{outline:3px solid #234627;outline-offset:4px}.pgp-page .pgp-kicker{font-size:13px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;margin-bottom:20px}
.pgp-page .pgp-hero{border:1px solid #234627;border-radius:24px;padding:clamp(24px,4vw,48px);background:linear-gradient(125deg,#fff 65%,#edf4eb);position:relative;overflow:hidden}.pgp-page .pgp-hero-top{display:flex;align-items:center;gap:12px}.pgp-page .pgp-dot{width:12px;height:12px;border-radius:50%;background:var(--pgp-accent);flex-shrink:0}.pgp-page .pgp-hero p{max-width:800px}.pgp-page .pgp-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid #234627;border-radius:10px;background:var(--pgp-accent);color:#234627;font-family:inherit;font-weight:700;font-size:16px;line-height:1.4;text-decoration:none;cursor:pointer;white-space:normal;text-align:center}.pgp-page .pgp-button:hover{background:#234627}.pgp-page .pgp-button-light{background:#fff}.pgp-page .pgp-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 8px}.pgp-page .pgp-hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.pgp-page .pgp-chip{border:1px solid #234627;border-radius:40px;padding:5px 12px;font-size:13px;font-weight:600;background:#fff}
.pgp-page .pgp-tool{margin-top:32px;border:1px solid var(--pgp-line);border-radius:22px;padding:clamp(20px,3vw,36px);background:#fafafa;scroll-margin-top:25px}.pgp-page .pgp-tool h2{margin-top:0}.pgp-page .pgp-tool-lead{max-width:780px}.pgp-page .pgp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.pgp-page label{display:block;font-size:16px;font-weight:650;line-height:1.5}.pgp-page select,.pgp-page input[type=text],.pgp-page textarea{width:100%;min-width:0;min-height:48px;font-family:inherit;font-size:16px;line-height:1.45;color:#234627;background:#fff;border:1px solid #777;border-radius:8px;padding:12px;margin-top:8px}.pgp-page textarea{resize:vertical}.pgp-page select{padding-right:28px}.pgp-page .pgp-help{display:block;font-size:14px;font-weight:400;margin-top:7px;color:#454545}.pgp-page .pgp-note{font-size:14px;color:#454545}.pgp-page .pgp-error{color:#234627;font-weight:650;min-height:0}.pgp-page .pgp-result{background:#fff;border:1px solid #234627;border-top:6px solid var(--pgp-accent);border-radius:12px;padding:clamp(18px,3vw,30px);margin:24px 0}.pgp-page .pgp-result h3{margin-top:0}.pgp-page .pgp-checklist{display:grid;gap:10px}.pgp-page .pgp-checklist label,.pgp-page .pgp-material label{display:flex;align-items:flex-start;gap:12px;padding:12px 0;cursor:pointer;min-height:48px;font-weight:450}.pgp-page input[type=checkbox]{width:22px;height:22px;min-width:22px;margin:1px 0 0;accent-color:#234627}.pgp-page .pgp-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px;margin:20px 0}.pgp-page .pgp-toolbar label{flex:1 1 250px}.pgp-page .pgp-materials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pgp-page .pgp-material{border:1px solid var(--pgp-line);border-radius:12px;padding:22px;background:#fff;min-width:0}.pgp-page .pgp-material h3{font-size:21px;margin-top:0}.pgp-page .pgp-material p{font-size:15px}.pgp-page .pgp-status{font-size:14px;margin-top:12px;min-height:24px}
.pgp-page .pgp-table-wrap{overflow-x:auto;max-width:100%;margin:22px 0;border:1px solid var(--pgp-line);border-radius:10px}.pgp-page table{border-collapse:collapse;width:100%;min-width:540px;font-size:15px;line-height:1.55;background:#fff}.pgp-page th,.pgp-page td{border-bottom:1px solid var(--pgp-line);padding:16px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.pgp-page th{background:#edf4eb;color:#234627;font-weight:700}.pgp-page caption{text-align:left;padding:14px 16px;font-weight:700}.pgp-page tr:last-child td,.pgp-page tr:last-child th{border-bottom:0}.pgp-page .pgp-article{max-width:900px;margin:44px auto 0}.pgp-page .pgp-article section{scroll-margin-top:25px}.pgp-page .pgp-article>section{border-bottom:1px solid #eee;padding-bottom:18px}.pgp-page .pgp-toc{margin-top:28px;border:1px solid var(--pgp-line);border-radius:14px;padding:20px 24px}.pgp-page .pgp-toc summary{cursor:pointer;font-weight:700;min-height:44px}.pgp-page .pgp-toc ol{columns:2;column-gap:35px;margin-bottom:0}.pgp-page .pgp-toc li{break-inside:avoid;font-size:15px}.pgp-page .pgp-diagrams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:30px 0}.pgp-page .pgp-diagram{margin:0;padding:20px;border:1px solid var(--pgp-line);border-radius:14px}.pgp-page .pgp-diagram svg{display:block;width:100%;height:auto}.pgp-page .pgp-diagram figcaption{font-size:14px;line-height:1.5;margin-top:14px}.pgp-page .pgp-footer-note{font-size:14px;border-top:1px solid var(--pgp-line);padding-top:22px;margin-top:30px}
@media(max-width:700px){.pgp-page{padding:14px;font-size:16px}.pgp-page .pgp-grid,.pgp-page .pgp-materials,.pgp-page .pgp-diagrams{grid-template-columns:minmax(0,1fr)}.pgp-page .pgp-hero{border-radius:16px;padding:24px 20px}.pgp-page .pgp-tool{border-radius:16px;padding:22px 16px}.pgp-page .pgp-actions{flex-direction:column}.pgp-page .pgp-actions .pgp-button{width:100%}.pgp-page .pgp-toc ol{columns:1}.pgp-page .pgp-toolbar .pgp-button{width:100%}.pgp-page h3{font-size:22px}.pgp-page th,.pgp-page td{padding:12px}.pgp-page .pgp-result{padding:18px}.pgp-page .pgp-chip{font-size:12px}.pgp-page .pgp-hero-chips{gap:7px}}
@media(prefers-reduced-motion:reduce){.pgp-page *{scroll-behavior:auto!important}}
@media print{.pgp-page{max-width:none;padding:0;font-size:11pt}.pgp-page .pgp-actions,.pgp-page form,.pgp-page .pgp-toolbar,.pgp-page .pgp-materials,.pgp-page .pgp-toc{display:none}.pgp-page .pgp-tool,.pgp-page .pgp-hero{border-color:#bbb;background:#fff}.pgp-page .pgp-table-wrap{overflow:visible}.pgp-page table{min-width:0}.pgp-page a{color:#234627}.pgp-page .pgp-result{break-inside:avoid}}

.pgp-page fieldset{border:0;border-bottom:1px solid var(--pgp-line);margin:0 0 24px;padding:0 0 24px;min-width:0}.pgp-page legend{font-size:20px;font-weight:750;padding:0;margin:0 0 18px;line-height:1.3}.pgp-page .pgp-grid+.pgp-grid{margin-top:20px}.pgp-page .pgp-budget{border:1px solid var(--pgp-line);background:#fff;border-radius:12px;padding:16px}.pgp-page summary{cursor:pointer;font-weight:650;min-height:44px}.pgp-page .pgp-budget>.pgp-grid{margin-top:18px}.pgp-page .pgp-budget>.pgp-help{margin-top:16px}.pgp-page .pgp-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.pgp-page .pgp-metric{background:#edf4eb;border:1px solid #ddd;border-radius:10px;padding:16px;min-width:0}.pgp-page .pgp-metric span{display:block;font-size:13px;line-height:1.4;margin-bottom:10px}.pgp-page .pgp-metric strong{font-size:19px;line-height:1.4;display:block;overflow-wrap:anywhere}.pgp-page .pgp-layout{margin:20px 0;border:1px solid #ddd;border-radius:12px;padding:16px}.pgp-page .pgp-layout svg{display:block;width:100%;max-width:420px;height:auto;margin:0 auto}.pgp-page figcaption{font-size:14px;line-height:1.5;margin-top:14px}.pgp-page .pgp-subtotal{font-size:22px;font-weight:750}.pgp-page .pgp-assets{margin:32px 0}.pgp-page .pgp-assets h2{margin-top:0}.pgp-page .pgp-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pgp-page .pgp-step{border:1px solid var(--pgp-line);border-radius:12px;padding:18px;font-size:14px;line-height:1.5}.pgp-page .pgp-step strong{display:block;font-size:17px;margin:10px 0}.pgp-page .pgp-step-number{width:32px;height:32px;border-radius:50%;background:var(--pgp-accent);color:#234627;display:flex;align-items:center;justify-content:center;font-weight:750}.pgp-page .pgp-visuals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pgp-page .pgp-visuals figure{border:1px solid var(--pgp-line);border-radius:14px;padding:20px;margin:0;min-width:0}.pgp-page .pgp-visuals svg{display:block;width:100%;height:auto}.pgp-page .pgp-visuals h3{margin-top:0;font-size:22px}.pgp-page .pgp-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:14px}.pgp-page .pgp-swatch{width:14px;height:14px;display:inline-block;border:1px solid #234627;margin-right:7px;vertical-align:middle}.pgp-page .pgp-swatch-gravel{background:#234627}.pgp-page .pgp-swatch-solid{background:#fff}.pgp-page .pgp-tool input[type=number]{width:100%;min-width:0;min-height:48px;font-family:inherit;font-size:16px;line-height:1.45;color:#234627;background:#fff;border:1px solid #777;border-radius:8px;padding:12px;margin-top:8px}
@media(max-width:850px){.pgp-page .pgp-metrics{grid-template-columns:minmax(0,1fr)}.pgp-page .pgp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.pgp-page .pgp-visuals{grid-template-columns:minmax(0,1fr)}.pgp-page .pgp-budget{padding:14px}.pgp-page .pgp-metric strong{font-size:20px}}
@media(max-width:420px){.pgp-page .pgp-steps{grid-template-columns:minmax(0,1fr)}}

/* Sitewide editorial link convention: scoped to this page. */
.pgp-page article,.pgp-page nav{min-width:0;max-width:100%}
.pgp-page a{overflow-wrap:anywhere}
.pgp-page a.site-internal,.pgp-page a.site-internal:visited{color:#234627;text-decoration:underline;text-underline-offset:3px}
.pgp-page a.site-external,.pgp-page a.site-external:visited{color:#234627;text-decoration:underline;text-underline-offset:3px}
.pgp-page a.site-external:hover{color:#234627}
.pgp-page a.site-internal:hover{color:#333}
