body{background:#fff}
.proposal{max-width:800px;margin:auto;padding:48px 24px 64px}
.proposal h1{font-size:36px;line-height:1.5;letter-spacing:0;overflow-wrap:anywhere}
.proposal h2{font-size:25px;line-height:1.5;margin:48px 0 18px;letter-spacing:0}
.proposal h3{font-size:19px;line-height:1.7;margin:0 0 14px;letter-spacing:0}
.proposal p,.proposal li{font-size:17px;line-height:2;overflow-wrap:anywhere}
.proposal p{margin:0 0 22px}
.proposal .lead{font-size:20px;line-height:1.9}
.proposal a{color:#12654e;text-underline-offset:4px}
.author{display:flex;align-items:center;gap:18px;margin:28px 0 36px;border-block:1px solid #bac1bd;padding:20px 0}
.author img{width:88px;height:88px;object-fit:cover;object-position:50% 20%;flex-shrink:0}
.author p{margin:0;font-size:14px;line-height:1.8}
.author strong{font-size:16px}
.proposal figure{margin:30px 0 36px}
.proposal figcaption{font-size:16px;font-weight:700;line-height:1.7;margin-bottom:16px}
.proposal .flow{border-block:1px solid #cbd2d4;padding:22px 0}
.proposal .flow ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0}
.proposal .flow li{position:relative;border-top:3px solid #12654e;padding-top:12px;min-width:0}
.proposal .flow li:last-child{border-color:#3f6484}
.proposal .flow li:not(:last-child)::after{content:"→";position:absolute;right:-20px;top:40px;color:#6f7777;font-size:20px}
.proposal .step{display:block;color:#53636a;font-size:12px;line-height:1.5;margin-bottom:6px}
.proposal .flow strong{display:block;font-size:16px;line-height:1.6}
.proposal .flow p{font-size:14px;line-height:1.7;margin:8px 0 0}
.proposal .comparison{border-block:1px solid #cbd2d4;padding-top:20px}
.proposal .compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.proposal .compare-side{padding:20px 22px;min-width:0}
.proposal .before{background:#faf1f0;border-top:3px solid #a34c4c}
.proposal .after{background:#edf6f2;border-top:3px solid #12654e}
.proposal .compare-label{font-size:12px;font-weight:700;line-height:1.5;margin:0 0 10px;color:#934141}
.proposal .after .compare-label{color:#12654e}
.proposal .compare-side strong{display:block;font-size:18px;line-height:1.7}
.proposal .compare-side p,.proposal .compare-side li{font-size:15px;line-height:1.8}
.proposal .compare-side p{margin:12px 0 0}
.proposal .compare-side ul{padding-left:18px;margin:12px 0 0}
.proposal .comparison .takeaway{font-size:15px;line-height:1.8;margin:0;padding:15px 0;color:#3b545c}
.proposal table{border-collapse:collapse;table-layout:fixed;width:100%;margin:26px 0 30px}
.proposal caption{text-align:left;font-size:16px;line-height:1.7;font-weight:700;margin-bottom:14px}
.proposal th,.proposal td{vertical-align:top;text-align:left;border-bottom:1px solid #cbd2d4;padding:14px 12px;font-size:15px;line-height:1.8;overflow-wrap:anywhere}
.proposal thead th{background:#edf1f4;border-top:2px solid #3f6484}
.proposal tbody th{font-weight:650}
.proposal .decision-sheet th,.proposal .planning-sheet th,.proposal .measurement-map th{width:28%}
.proposal .consultation{border-top:2px solid #153c32;margin-top:48px;padding-top:8px}
.proposal .consultation-inline{border-block:1px solid #bac1bd;margin:32px 0;padding:24px 0}
.proposal .consultation-inline p{font-size:16px;line-height:1.9;margin-bottom:16px}
.proposal a.consultation-cta{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;max-width:100%;padding:12px 20px;border:1px solid #153c32;border-radius:4px;background:#153c32;color:#fff;font-size:16px;font-weight:650;line-height:1.6;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
.proposal a.consultation-cta:hover{background:#0e5140}
.proposal a.consultation-cta:focus-visible{outline:3px solid #3f6484;outline-offset:4px}
.proposal .related-reading{border-top:1px solid #bac1bd;margin-top:36px;padding-top:22px}
.proposal .related-reading h2{font-size:20px;margin:0 0 14px}
.proposal .related-reading p{font-size:16px;line-height:1.8;margin-bottom:12px}
.proposal a.related-link:focus-visible{outline:3px solid #3f6484;outline-offset:4px}
.proposal [id]{scroll-margin-top:24px}
.masthead .brand{color:inherit;font-size:22px;gap:10px;white-space:normal}
.masthead .brand .brand-name{font-size:inherit;color:inherit}
.masthead .shell{padding-block:18px}
@media(max-width:600px){
  .proposal{padding:28px 20px 48px}.proposal h1{font-size:28px}.proposal h2{font-size:22px}.proposal .lead{font-size:18px}
  .author{gap:14px;padding:16px 0;margin:22px 0 28px}.author img{width:64px;height:64px}
  .masthead .brand{font-size:19px}.masthead .brand-symbol{width:27px;height:30px}
  .proposal .flow ol{grid-template-columns:minmax(0,1fr);gap:28px}
  .proposal .flow li{padding:0 0 0 16px;border-top:0;border-left:3px solid #12654e}
  .proposal .flow li:not(:last-child)::after{content:"↓";left:16px;right:auto;top:auto;bottom:-27px}
  .proposal .compare-grid{grid-template-columns:minmax(0,1fr)}.proposal .compare-side{padding:18px}
  .proposal th,.proposal td{font-size:14px;padding:12px 8px}
  .proposal a.consultation-cta{width:100%}
}
