:root{--dark:#0d2926;--dark2:#173e36;--green:#18785d;--mint:#baf6d9;--bg:#f5f7f3;--ink:#163129;--muted:#60796e;--line:#dce8df;--white:#fff;--warn:#875815;--bad:#af3d3d;--good:#126949;--soft:#e8f5ed;--shadow:0 12px 34px rgba(15,49,39,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}.container{width:min(1160px,100%);margin:0 auto;padding:0 24px} :focus-visible{outline:3px solid #57b990;outline-offset:3px}
.top{background:var(--dark);color:white}.nav{min-height:73px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:23px;letter-spacing:-.9px;font-weight:900}.brand span{color:var(--mint)}.navlinks{display:flex;gap:24px;align-items:center;color:#c7ded3;font-size:13px}.navlinks .navcta{color:#14342a;background:var(--mint);border-radius:99px;padding:9px 17px;font-weight:750}.hero{display:grid;grid-template-columns:1.07fr .93fr;gap:45px;align-items:center;padding:62px 0 91px}.pill{display:inline-flex;padding:6px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.9px;font-weight:850;background:#265347;border:1px solid #427b64;border-radius:999px;color:#d5f7e5}.hero h1{font-size:clamp(38px,5vw,67px);letter-spacing:-3px;line-height:1.07;max-width:620px;margin:18px 0}.hero h1 span{color:var(--mint)}.hero p{color:#cbded3;max-width:530px;font-size:16px;line-height:1.75;margin:0 0 22px}.heroaction{display:inline-flex;padding:13px 20px;background:var(--mint);color:#123c2c;border-radius:10px;font-size:14px;font-weight:800}.heronote{color:#a7c1b5;font-size:12px;margin-top:14px}.hero-card{border:1px solid #477669;background:linear-gradient(155deg,#245c4e,#12362f);border-radius:22px;padding:22px;box-shadow:0 22px 58px #071d1b66}.hero-card small{display:block;color:#d2eade;font-weight:750;letter-spacing:.7px;margin-bottom:17px}.sample{background:white;color:var(--ink);border-radius:14px;padding:25px}.sample .head{font-size:12px;color:var(--muted);font-weight:800}.sample .price{font-size:43px;font-weight:900;letter-spacing:-2px;margin:6px 0}.sample .value{color:var(--good);font-size:13px;font-weight:800}.sample hr{border:0;border-top:1px solid var(--line);margin:19px 0}.sample .line{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:6px 0}.sample .line span{color:var(--muted)}.sample .track{display:flex;margin:16px 0 7px;overflow:hidden;height:10px;border-radius:50px;background:#e5ece7}.sample .track b{background:#2b8b6d;width:65%}.sample .track i{background:#f0bf56;flex:1}.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;position:relative;margin-top:-37px}.strip div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:19px 21px;font-size:13px;font-weight:800;box-shadow:var(--shadow)}
.section{padding:77px 0}.section h2{font-size:clamp(28px,3vw,39px);line-height:1.19;letter-spacing:-1.5px;margin:7px 0 12px}.eyebrow{color:var(--green);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.3px}.lead{color:var(--muted);max-width:740px;font-size:14px;line-height:1.8;margin:0 0 26px}.layout{display:grid;grid-template-columns:1.09fr .91fr;gap:18px;align-items:start}.panel{border:1px solid var(--line);background:white;box-shadow:var(--shadow);border-radius:17px;padding:26px}.panel h3{font-size:18px;letter-spacing:-.55px;margin:0 0 4px}.sub{font-size:12px;color:var(--muted);margin:0 0 20px}.section-label{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:13px;margin:24px 0 17px}.section-label:first-child{margin-top:0}.section-label h4{font-size:14px;margin:0;letter-spacing:-.15px}.section-label span{font-size:11px;color:var(--muted)}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:6px}.span2{grid-column:1/-1}.field label{font-size:12px;font-weight:800;color:#35594a}.field input,.field textarea,.field select{border-radius:9px;border:1px solid #cfddd4;padding:11px 12px;color:var(--ink);background:#fbfdfb;width:100%;min-width:0}.field textarea{resize:vertical;min-height:87px}.field .hint{font-size:11px;color:var(--muted)}.field input:focus,.field select:focus,.field textarea:focus{border-color:#248b65;outline:3px solid #cff5df}.field input[aria-invalid=true]{border-color:#ca5a50;background:#fff4f0}.quick{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.chip{background:#f1f7f3;border:1px solid #d6e7dc;color:#35634c;border-radius:100px;font-size:11px;font-weight:800;padding:7px 11px}.chip:hover{background:#e0f3e7}.sidenote{font-size:11px;color:var(--muted);margin:11px 0 0}
.resultpanel{position:sticky;top:18px}.result{background:linear-gradient(145deg,#e0f6e7,#f5fcf5);border:1px solid #c5e8d2;padding:21px;border-radius:13px}.result h4{margin:0;color:#34614c;font-size:12px}.result .big{font-weight:900;font-size:clamp(34px,4vw,49px);letter-spacing:-2.1px;line-height:1.14;margin:5px 0 4px}.result .basis{font-size:11px;color:var(--muted)}.rowdata{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding:11px 0;border-bottom:1px solid #d9e9dc;font-size:12px}.rowdata:last-child{border:0}.rowdata span{color:#5a7665}.rowdata b{text-align:right;font-size:13px}.callout{border:1px solid var(--line);border-radius:12px;padding:15px;margin-top:15px;background:#fff}.callout h4{margin:0 0 6px;font-size:13px}.callout p{font-size:12px;color:var(--muted);margin:2px 0 11px}.metric-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.metric{border-radius:10px;padding:11px;background:#f3f7f3}.metric span{display:block;font-size:11px;color:var(--muted)}.metric strong{display:block;font-size:19px;letter-spacing:-.6px;margin-top:3px}.status{border-radius:9px;padding:11px 13px;background:#f0f5f1;color:#285a41;font-size:12px;margin-top:12px;border:1px solid #d7e5db;font-weight:650}.status.warn{background:#fff5e5;border-color:#f5d8a6;color:var(--warn)}.status.bad{background:#fff0ee;border-color:#f3cfcb;color:var(--bad)}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.btn{padding:12px 14px;border-radius:10px;border:1px solid #b8d9c5;font-size:12px;font-weight:800;background:white;color:#17533e}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.btn.primary:hover{background:#0b6148}.btn:hover{background:#eff8f2}.btn.primary:hover{background:#0c6147}.mini{font-size:11px;color:var(--muted);line-height:1.65;margin:13px 0 0}.info{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.feature{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}.feature strong{display:block;font-size:16px;margin:9px 0 7px}.feature p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}.feature .symbol{font-size:24px}.foot{background:var(--dark);color:#b6cfc3;padding:32px 0}.foot-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.foot strong{color:white}.foot small{display:block;max-width:650px;margin-top:6px}.print-sheet{display:none}
@media(max-width:900px){.hero,.layout{grid-template-columns:1fr}.hero{padding:45px 0 71px}.hero-card{max-width:560px}.resultpanel{position:static}.section{padding:56px 0}}
@media(max-width:610px){.container{padding:0 16px}.navlinks a:not(.navcta){display:none}.hero h1{letter-spacing:-1.5px}.strip{grid-template-columns:1fr;gap:7px}.strip div{padding:12px 14px}.hero-card{padding:14px}.sample{padding:20px}.panel{padding:19px}.fields{grid-template-columns:1fr}.span2{grid-column:auto}.section{padding:47px 0}.info{grid-template-columns:1fr}.actions .btn{flex:1 1 45%}.hero p{font-size:15px}}
@media print {
  @page {size:A4; margin:14mm}
  html,body{width:auto;height:auto;margin:0;padding:0;background:#fff;color:#19332c}
  .top,.strip,main,.foot,.skip-link,.feedback-section,.trust-section{display:none!important}
  .print-sheet{display:flex!important;flex-direction:column;min-height:242mm;width:100%;font:15px/1.5 Arial,"Noto Sans",sans-serif;color:#18332b;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .print-banner{height:6px;background:#16634e;margin-bottom:15px}
  .print-head{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:0 0 12px;border-bottom:1px solid #ccdcd2;align-items:start}
  .print-eyebrow{color:#447263;font-size:12.3px;letter-spacing:1px;font-weight:bold;line-height:1.5;margin-bottom:7px}
  .print-business-name{font-size:23.4px;font-weight:bold;color:#113b2f;line-height:1.25;overflow-wrap:anywhere}
  .print-business-address,.print-business-contact{color:#41574c;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:5px;font-size:14.3px;line-height:1.5}
  .print-heading{text-align:right}.print-heading h1{font-size:35px;letter-spacing:-1px;color:#0d3528;margin:0 0 3px;line-height:1.1}
  .print-invoice-label{font-size:13px;color:#4b675b}
  .print-info{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:8px;margin:16px 0 16px}
  .print-info-card{background:#f0f7f1;padding:13px 12px;border:1px solid #dcebe0;min-width:0}
  .print-info-value{font-size:16.9px;font-weight:700;overflow-wrap:anywhere}
  .print-two{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 16px}
  .print-recipient{font-size:16.9px;font-weight:600;min-height:20px;overflow-wrap:anywhere;white-space:pre-wrap}
  .print-section-title{color:#163e30;font-size:16.9px;font-weight:bold;letter-spacing:.2px;border-bottom:1px solid #c7d8ce;padding-bottom:9px;margin-bottom:0}
  .print-items{width:100%;border-collapse:collapse;table-layout:fixed}
  .print-items th{padding:14px 8px 11px;font-size:13px;color:#4a6c5b;text-align:left;letter-spacing:.6px}
  .print-items td{padding:11px 8px;font-size:16.9px;vertical-align:top;border-top:1px solid #e0e8e1;border-bottom:1px solid #d8e5dc}
  .print-items td:first-child strong{font-size:16.9px;overflow-wrap:anywhere}
  .print-items td:nth-child(2),.print-items th:nth-child(2){width:20%;text-align:center}
  .print-items td:last-child,.print-items th:last-child{text-align:right;width:26%;font-weight:700}
  .print-size{font-size:14.3px;color:#557568;margin-top:7px}
  .print-summary{width:68%;margin:12px 0 16px auto}
  .print-adjustment{display:flex;justify-content:space-between;gap:14px;font-size:14.3px;color:#516e60;padding-bottom:11px}
  .print-total{background:#153f31;color:#fff;padding:13px 17px;display:flex;justify-content:space-between;gap:12px;align-items:center}
  .print-total span{display:block;font-size:14.3px;font-weight:700;letter-spacing:.6px}.print-total small{font-size:13px;color:#c8e7d5;display:block;margin-top:3px}
  .print-total strong{font-size:29.9px;white-space:nowrap}
  .print-summary-note{text-align:right;color:#567266;font-size:13px;margin-top:7px}
  .print-terms-group{margin-bottom:15px}
  .print-term-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:9px 0}
  .print-term-card{background:#f7faf7;border:1px solid #e1e9e2;padding:12px 13px;font-size:15px;min-height:60px;overflow-wrap:anywhere;white-space:pre-wrap}
  .print-remarks{border:1px solid #e1e9e2;padding:12px 13px;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}
  .print-footer{margin-top:auto;padding-top:12px;font-size:13px;color:#506a5e}
  .print-footer-top{display:flex;justify-content:space-between;gap:18px;font-weight:700;font-size:13px}
  .print-footer-divider{border-bottom:1px solid #c7dacb;margin:15px 0 9px}
  .print-footer-note{line-height:1.5}.print-footer-mark{font-size:12.3px;color:#6d8275;text-align:right;margin-top:8px}
  .print-info,.print-head,.print-two,.print-items tr,.print-summary,.print-term-card,.print-remarks,.print-footer{break-inside:avoid;page-break-inside:avoid}
}


/* v0.3: local workflow tools */
.workflow-box{border:1px solid #d0e6d8;background:#f5fbf7;border-radius:13px;padding:17px;margin:23px 0 20px}
.workflow-header{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.workflow-header strong{font-size:14px}.workflow-header span{font-size:11px;color:var(--muted)}
.workflow-box .mini{margin:9px 0 12px}.workflow-box .actions{margin-top:12px}.workflow-box .field{margin-top:12px}.tertiary{border-color:#e9d6d3;color:#97504b;background:#fff}
.safe-discount{margin-top:14px;border:1px solid #c8e3d1;border-radius:11px;background:#f2fbf5;padding:13px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.safe-discount span{font-size:11px;color:var(--muted);display:block}.safe-discount strong{display:block;font-size:23px;color:var(--good)}.safe-discount .btn{flex-shrink:0}
.upload-btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.feedback-section{padding-top:0}.feedback-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px}.feedback-panel .lead{margin-bottom:0}.feedback-panel .actions,.feedback-panel #feedbackNotice{grid-column:2}
@media(max-width:610px){.safe-discount{flex-direction:column;align-items:stretch}.safe-discount .btn{width:100%}.feedback-panel{grid-template-columns:1fr}.feedback-panel .actions,.feedback-panel #feedbackNotice{grid-column:1}.workflow-box{padding:13px}.workflow-box .actions .btn,.upload-btn{flex:1 1 100%;text-align:center}}


/* V0.5 beta prep */
.skip-link{position:absolute;left:16px;top:-80px;background:#fff;color:#143d2e;padding:10px 14px;z-index:10}.skip-link:focus{top:7px}
.feedback-section{padding:55px 0}.feedback-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.feedback-grid .panel{min-width:0}
.beta-tier{border:1px solid var(--line);padding:16px;border-radius:12px;margin:15px 0;background:#fbfdfa}.beta-tier-head{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;font-size:13px}.beta-tier-head span{color:var(--muted);font-size:11px}.beta-tier ul{font-size:12px;color:#42604f;line-height:1.85;padding-left:19px;margin:12px 0 0}
.opt-in{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:18px 0}.opt-in label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;cursor:pointer}.opt-in input{width:17px;height:17px;accent-color:var(--green)}.opt-in .mini{margin:7px 0 0}.inline-link{display:inline-flex}
.trust-section{padding:0 0 80px}.trust-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e4f5e9;border:1px solid #bde2c8;border-radius:16px;padding:27px}.trust-card h2{font-size:25px;letter-spacing:-.7px;margin:7px 0}.trust-card p{font-size:12px;color:#466957;max-width:720px}.trust-card .btn{flex-shrink:0}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:760px){.feedback-grid{grid-template-columns:1fr}.trust-card{flex-direction:column;align-items:flex-start}.trust-section{padding-bottom:50px}}
@media print{.trust-section,.feedback-section{display:none!important}}

/* V0.5.1: compact the CUSTOMER-PRINT view so browser print scaling does not
   split short quotations into a mostly empty second sheet. Screen CSS unchanged. */
@media print {
  @page{size:A4;margin:10mm}
  .print-sheet{min-height:195mm;font-size:13.5px;line-height:1.35}
  .print-banner{height:5px;margin-bottom:9px}
  .print-head{gap:14px;padding-bottom:9px}
  .print-eyebrow{font-size:11px;line-height:1.35;margin-bottom:4px;letter-spacing:.7px}
  .print-business-name{font-size:20px;line-height:1.2}
  .print-business-address,.print-business-contact{font-size:12.5px;line-height:1.3;margin-top:3px}
  .print-heading h1{font-size:30px}
  .print-invoice-label{font-size:11.6px}
  .print-info{gap:7px;margin:12px 0}
  .print-info-card{padding:9px 9px}
  .print-info-value{font-size:14.5px}
  .print-two{gap:18px;margin-bottom:12px}
  .print-recipient{font-size:14.5px;min-height:18px}
  .print-section-title{font-size:14.5px;padding-bottom:6px}
  .print-items th{padding:9px 6px 7px;font-size:11.5px;letter-spacing:.3px}
  .print-items td{padding:8px 6px;font-size:14.5px}
  .print-items td:first-child strong{font-size:14.5px}
  .print-size{font-size:12px;margin-top:4px}
  .print-summary{margin:9px 0 11px auto}
  .print-adjustment{font-size:12px;padding-bottom:6px}
  .print-total{padding:9px 12px}
  .print-total span{font-size:12px}
  .print-total small{font-size:11.5px}
  .print-total strong{font-size:25px}
  .print-summary-note{font-size:11.5px;margin-top:5px}
  .print-terms-group{margin-bottom:8px}
  .print-term-grid{gap:9px;margin:7px 0}
  .print-term-card{padding:9px 10px;font-size:13px;min-height:0;line-height:1.35}
  .print-remarks{padding:9px 10px;font-size:13px;line-height:1.35}
  .print-footer{margin-top:auto;padding-top:8px;font-size:11.5px}
  .print-footer-top{font-size:11.5px}
  .print-footer-divider{margin:8px 0 7px}
  .print-footer-note{line-height:1.35}
  .print-footer-mark{font-size:10.8px;margin-top:5px}
}
/* V0.6: self-contained SEO content and guide, without changing quotation print layout. */
.growth-section{padding:65px 0 45px;background:#ecf6ef}.growth-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center}.growth-layout h2{font-size:clamp(28px,3vw,39px);line-height:1.15}.growth-layout p{font-size:15px;color:var(--muted);line-height:1.7;max-width:68ch}.formula-card{background:#fff;padding:28px;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.formula-card span,.formula-card small{display:block;color:var(--muted);font-size:12px}.formula-card strong{display:block;font-size:clamp(18px,2vw,24px);padding:14px 0}.guide-body{max-width:830px;margin:0 auto;padding:55px 24px 95px}.guide-body h1{font-size:clamp(33px,5vw,52px);line-height:1.12;letter-spacing:-1.4px}.guide-body h2{margin-top:35px}.guide-body p,.guide-body li{line-height:1.75}.guide-body .example-table{width:100%;border-collapse:collapse}.example-table td,.example-table th{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}.guide-body th{background:#e9f5ee}.guide-body .action-strip{background:#e5f6ea;padding:22px;border-radius:14px;margin-top:35px}.site-footer-simple{padding:24px;background:#102a24;color:#daefe3}.site-footer-simple a{margin-right:19px}.site-footer-simple a:hover{text-decoration:underline}
@media(max-width:760px){.growth-layout{grid-template-columns:1fr}.growth-section{padding:40px 0}.formula-card{padding:20px}.guide-body{padding:32px 18px 60px}}
@media print{.growth-section{display:none!important}}
/* Respect hidden state even when site components declare display. */
[hidden]{display:none!important}
