/* The same visual language and wordmark as the live accounting portal. */
:root{--navy:#252d23;--text:#252d23;--muted:#65705e;--group:#eef1e6;--line:#dedfd5;--green:#e6eddb;--green-text:#315a46;--stripe:#fafbf6;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#f4f3ef;color-scheme:light}
body{font-size:15px;line-height:1.55;letter-spacing:-.16px;-webkit-font-smoothing:antialiased}.shell{width:min(1164px,calc(100% - 80px));min-width:0}.masthead{min-height:110px;padding-block:19px}.brand{display:block;line-height:0}.tp-brand-svg{width:239px;height:auto;display:block}.tp-brand-light{animation:tpBrandFlow 8s linear infinite;transform:translateX(0)}@keyframes tpBrandFlow{0%,9%{transform:translateX(0)}63%,100%{transform:translateX(440px)}}.masthead nav{gap:6px;padding:5px;background:#eaece3;border:1px solid var(--line);border-radius:12px;font-size:13px}.masthead nav a{border:0;padding:9px 15px;border-radius:8px;color:#53634b;transition:background .18s,color .18s}.masthead nav a:hover{background:#fff;color:var(--navy)}
.proposal-head{padding-top:45px;grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr)}.proposal-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;max-width:none;margin-bottom:23px;font-size:12px;line-height:1.5}.proposal-status span{display:inline;margin:0;padding-left:16px;border-left:1px solid #cdd4c3;font-variant-numeric:tabular-nums}h1{font-size:clamp(42px,4.6vw,64px);line-height:1.02;letter-spacing:-2.5px;font-weight:650;margin-bottom:21px}.work-type{font-size:23px;font-weight:500;letter-spacing:-.6px;line-height:1.3}.object-address{font-size:14px;line-height:1.7}.price-block{padding:30px 32px;border-color:#d7e1ca;border-radius:16px}.price-block>p:first-child{font-size:14px;margin-bottom:12px}.total-number{font-size:clamp(33px,3.4vw,46px);font-weight:650;letter-spacing:-1.8px;line-height:1.2}.price-note{font-size:13px;margin:19px 0 6px}.tax-note{font-size:12px;margin-bottom:25px}.button{font-size:13px;font-weight:550;min-height:46px;padding:12px 17px;border-radius:9px;letter-spacing:-.1px;box-shadow:inset 0 1px 1px #ffffff33;transition:background .18s,box-shadow .18s,transform .25s cubic-bezier(.2,1.5,.4,1)}.button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2c39220a}.primary:hover{background:#34482d}.secondary{background:#eef1e7;color:#49643f;border-color:#dce3d1}.secondary:hover{background:#e3ead9}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#91a97e}
.summary{background:#fff;border-radius:15px;overflow:hidden}.summary>div{padding:21px 24px;gap:8px}.summary span{font-size:12px}.summary strong{font-size:26px;font-weight:600;letter-spacing:-.7px}.intro{font-size:17px;line-height:1.75;max-width:83ch;color:#53624a;margin-top:24px}.section{margin-top:42px}.section-heading{margin-bottom:18px}.section-heading h2,.closing h2{font-size:28px;font-weight:600;letter-spacing:-.85px}.section-heading p{font-size:12px}.conditions-grid{gap:14px}.condition{border-radius:15px;overflow:hidden}.condition h3{background:#eef1e6;color:#405c36;padding:17px 22px 14px;font-size:16px;font-weight:600;letter-spacing:-.25px;border-bottom:1px solid #e3e8da}.condition p{font-size:14px;line-height:1.75;padding:18px 22px 22px}.questions-grid{border-radius:15px;overflow:hidden;background:#fff}.question-column li{font-size:14px;line-height:1.75;padding:19px 23px;border-color:#e6e9df}.calculation-heading .button{font-size:13px}.work-group{border-radius:15px;overflow:hidden;margin-bottom:16px;background:#fff}.work-group summary{padding:21px 23px;background:#e9eedf;color:#354b2b;gap:20px;transition:background .18s}.work-group summary:hover{background:#e1e9d5}.work-group summary h3{font-size:19px;font-weight:600;letter-spacing:-.4px}.work-group summary .group-total{font-size:18px;font-weight:600;letter-spacing:-.4px}.disclosure{display:grid;place-items:center;width:27px;height:27px;border:1px solid #ced9c0;border-radius:7px;background:#f9fbf4;font-size:20px}
.table{font-size:13px}.table th{border:0;border-block:1px solid var(--line);background:#fafbf6;color:#65755a;font-size:11px;font-weight:600;padding:14px 10px}.table td{border:0;border-bottom:1px solid #e4e9dc;padding:19px 10px;vertical-align:top}.table tbody tr:nth-child(odd){background:#fff}.table tbody tr:nth-child(even){background:var(--stripe)}.table .work-name{font-size:14px;font-weight:550;line-height:1.6}.table .scope{font-size:12px;color:var(--muted);line-height:1.75}.table .money{font-size:13px}.table .line-total{font-weight:600;padding-right:20px}.table tfoot td{background:#eef2e7;color:#4b643f;font-weight:550;padding:16px 20px;border-bottom:0}.table tfoot .money{font-size:15px}.closing{grid-template-columns:minmax(0,1fr) 390px;gap:48px;padding-top:32px}.closing h2{margin-bottom:18px}.scope-closing p{font-size:14px;line-height:1.8;margin-bottom:17px}.closing-condition{font-weight:550}.closing-totals{border-radius:15px;overflow:hidden;background:#fff}.closing-totals>div{padding:18px 22px;font-size:13px;border-color:#e4e9dc}.closing-totals strong{font-size:15px;font-weight:600}.closing-totals .grand-total{padding:23px}.grand-total>span{font-size:14px}.grand-total strong{font-size:34px;letter-spacing:-1px}.download-section{margin-top:35px;padding:27px 30px;border-color:#d7e1ca;border-radius:15px}.download-section h2{font-size:23px;font-weight:600;letter-spacing:-.65px;color:#354b2b;margin-bottom:9px}.download-section p{font-size:14px;color:#50663f}.download-section .button{font-size:13px}.footer{padding-block:28px 40px}.footer p{font-size:12px;line-height:1.75}.footer .signature{font-size:19px;font-weight:600;letter-spacing:-.3px;margin-bottom:8px}.contact-links{font-size:15px;gap:8px}.contact-links a{color:#405d3c;text-decoration-color:#acb99f}.footer .button{font-size:13px}
@media(max-width:1100px){.shell{width:calc(100% - 48px)}.proposal-head{gap:28px;grid-template-columns:minmax(0,1fr) minmax(350px,1fr)}h1{font-size:52px}.price-block{padding:27px}.total-number{font-size:39px}.summary strong{font-size:23px}.table .work-name{font-size:13px}.table .scope,.table .money{font-size:12px}.table td,.table th{padding-inline:8px}.table .line-total{padding-right:12px}.closing{grid-template-columns:minmax(0,1fr) 360px;gap:25px}}
@media(max-width:820px){.shell{width:calc(100% - 40px)}.masthead{padding-block:18px;gap:17px}.tp-brand-svg{width:208px}.masthead nav{width:100%;justify-content:space-between;gap:0;font-size:12px}.masthead nav a{padding:9px 13px}.proposal-head{display:block;padding-top:30px}.proposal-status{font-size:12px;margin-bottom:20px}.proposal-status span{margin:0}h1{font-size:48px;letter-spacing:-1.8px;line-height:1.03;margin-bottom:17px}.work-type{font-size:21px;margin-bottom:12px}.object-address{font-size:13px}.price-block{padding:25px;margin-top:25px}.total-number{font-size:42px}.price-note{margin-top:16px}.tax-note{margin-bottom:20px}.price-block .button{align-self:stretch}.summary{margin-top:16px}.summary>div{padding:16px 20px}.summary span{font-size:12px}.summary strong{font-size:22px}.intro{font-size:16px;line-height:1.75;margin-top:22px}.section{margin-top:34px}.section-heading h2,.closing h2{font-size:26px}.condition h3{font-size:15px;padding:15px 18px}.condition p{font-size:14px;padding:16px 18px}.question-column li{font-size:14px;padding:18px 20px}.calculation-heading .button{margin-top:14px}.work-group summary{padding:18px;gap:8px}.work-group summary h3{font-size:18px}.work-group summary .group-total{font-size:17px}.table tbody tr{padding:20px}.table tbody td{padding:0;border:0}.table .row-number{font-size:11px;margin-bottom:7px}.table .work-name{font-size:16px;margin-bottom:10px;line-height:1.5}.table .scope{font-size:13px;margin-bottom:17px;line-height:1.75}.table .quantity,.table .rate-value{font-size:15px;padding-top:12px;border-top:1px solid #e4e9dc}.table .quantity:before,.table .rate-value:before{font-size:11px;margin-bottom:5px}.table .line-total{font-size:18px;padding:0;margin-top:13px}.table .line-total:before{font-size:12px}.table tfoot tr{padding:17px 20px}.table tfoot td{padding:0;font-size:13px}.table tfoot .money{font-size:17px}.closing{display:flex;gap:16px;padding-top:27px}.closing-totals>div{font-size:13px;padding:16px 20px}.closing-totals strong{font-size:16px}.grand-total strong{font-size:34px}.download-section{padding:23px;gap:20px}.contact-links{font-size:16px}}
@media(max-width:390px){.shell{width:calc(100% - 32px)}.masthead nav a{padding-inline:10px}.proposal-status{font-size:11px;gap:8px}.proposal-status span{padding-left:8px}h1{font-size:44px}.total-number{font-size:34px;letter-spacing:-1.2px}.price-block{padding:23px 20px}.price-block .button{font-size:12px;padding-inline:10px}.summary strong{font-size:19px}.summary>div{padding:15px 17px}.grand-total strong{font-size:30px}.download-section{padding:21px}.table .line-total{font-size:17px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{:root{background:#fff}.tp-brand-svg{width:208px}.masthead{min-height:70px}h1{font-size:32px}.total-number{font-size:30px}.condition p,.question-column li{font-size:11px}.table .work-name,.table .scope,.table .money{font-size:10px}.download-section{display:none}.closing{grid-template-columns:1fr 1fr}}
