:root{--navy:#13243a;--teal:#1ca6a8;--bg:#f7f8f7;--line:#d6e0e2;--muted:#5d6f78}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);background:var(--bg);font-family:Inter,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;z-index:20;top:0;display:grid;height:72px;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 max(20px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);background:rgba(255,255,255,.95);backdrop-filter:blur(14px)}.site-header img{width:190px}.site-header nav{display:flex;gap:25px;font-size:13px;font-weight:800}.site-header button{justify-self:end;padding:10px 16px;color:var(--navy);border:1px solid #b8cbce;border-radius:999px;background:#fff;font-weight:800;cursor:pointer}.hero{display:grid;min-height:700px;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center;padding-block:76px}.eyebrow{display:flex;align-items:center;gap:9px;color:#176b87;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.eyebrow span{width:28px;height:3px;border-radius:9px;background:var(--accent)}h1,h2{margin:0;letter-spacing:-.045em}h1{margin-top:22px;font-size:clamp(46px,5vw,74px);line-height:1.02}h1 em{color:var(--accent);font-style:normal}.hero-copy>p{max-width:690px;margin:27px 0 0;color:#53646d;font-size:19px;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:32px}.hero-actions a:first-child{padding:15px 20px;color:#fff;border-radius:11px;background:var(--accent);font-weight:900}.hero-actions a:last-child{color:#176b87;border-bottom:1px solid #79a6b4;font-weight:900}.assurance{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px;padding-top:25px;border-top:1px solid var(--line)}.assurance div{display:grid;gap:5px}.assurance span{color:#708189;font-size:12px}.proposal-card{padding:24px;border:1px solid #c9d9db;border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(19,36,58,.1);transform:rotate(1deg)}.proposal-card>span,.proposal-meta span{color:#72838b;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.proposal-card h2{margin:8px 0 19px;font-size:25px}.scheme-card{position:relative;display:block;overflow:hidden;border-radius:14px;background:#edf2f3}.scheme-card img{display:block;width:100%;height:300px;object-fit:contain}.scheme-card>span{position:absolute;right:10px;bottom:10px;padding:7px 10px;color:#fff;border-radius:8px;background:rgba(19,36,58,.82);font-size:10px;font-weight:900}.scheme-placeholder{display:grid;height:260px;padding:30px;place-items:center;color:#71838b;border:1px dashed #afc3c6;border-radius:14px;background:#eef3f4;text-align:center}.proposal-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.proposal-meta div{display:grid;gap:5px;padding:13px;border-radius:10px;background:#f2f5f5}.trust{color:#fff;background:var(--navy)}.trust .shell{display:grid;grid-template-columns:1fr auto;gap:55px;align-items:center;padding-block:34px}.trust p{max-width:720px;margin:0;color:#c7d3d7;line-height:1.6}.trust>b{color:var(--accent);font-size:30px}.trust b span{display:block;color:#aabac0;font-size:12px}.section{padding-block:96px}.section-title{max-width:820px;margin:0 auto 44px;text-align:center}.section-title.left{margin-inline:0;text-align:left}.section-title>span{color:var(--teal);font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.section-title h2{margin-top:12px;font-size:clamp(34px,4vw,52px);line-height:1.08}.section-title p{max-width:700px;margin:17px auto 0;color:var(--muted);font-size:17px;line-height:1.6}.section-title.left p{margin-left:0}.benefits,.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.benefits article,.steps article{min-height:230px;padding:25px;border:1px solid var(--line);border-radius:16px;background:#fff}.benefits article>span,.steps article>b{color:var(--accent);font-size:25px;font-weight:900}.benefits h3,.steps h3{margin:50px 0 9px}.benefits p,.steps p{margin:0;color:var(--muted);line-height:1.55}.object-section{background:#fff}.object-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:65px;align-items:center}.object-summary{color:var(--muted);font-size:17px;line-height:1.65}.object-grid ul{display:grid;gap:12px;margin:25px 0 0;padding:0;list-style:none}.object-grid li{display:flex;gap:10px;align-items:center;font-weight:800}.object-grid li span{display:grid;width:22px;height:22px;place-items:center;color:#fff;border-radius:50%;background:var(--teal);font-size:12px}.steps-section{background:#eef3f4}.estimate-section{color:#fff;background:var(--navy)}.estimate-section .section-title>span{color:#76d9d4}.estimate-section .section-title p{color:#adbdc2}.estimate-table{overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:17px}.estimate-row{display:grid;min-height:58px;grid-template-columns:minmax(260px,1fr) 120px 140px 150px;gap:14px;align-items:center;padding:10px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.estimate-row span{color:#b9c7cb}.estimate-row>b{justify-self:end;color:#78d8d4}.estimate-head{min-height:44px;color:#90a3a9;background:rgba(255,255,255,.05);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.estimate-head span:last-child{justify-self:end}.estimate-group-title,.estimate-subtitle{display:flex;min-height:46px;align-items:center;justify-content:space-between;padding:0 20px;background:rgba(255,255,255,.09)}.estimate-group-title{font-size:17px}.estimate-group-title span,.estimate-subtitle b{color:#78d8d4}.estimate-subtitle{min-height:38px;background:rgba(255,255,255,.04);font-size:13px}.estimate-subsection.cloud .estimate-subtitle{background:rgba(28,166,168,.2)}.estimate-empty{padding:18px 20px;color:#84979e;border-bottom:1px solid rgba(255,255,255,.1)}.estimate-total,.estimate-totals>div{display:flex;align-items:center;justify-content:space-between;padding:22px;color:var(--navy);background:var(--accent)}.estimate-total span,.estimate-totals span{font-weight:900;letter-spacing:.07em;text-transform:uppercase}.estimate-total b,.estimate-totals b{font-size:23px}.estimate-totals{display:grid;grid-template-columns:1fr 1fr}.estimate-totals .cloud-total{color:#fff;background:var(--teal)}.warranty{margin-top:30px;padding:20px;border:1px solid rgba(118,217,212,.28);border-radius:14px;background:rgba(28,166,168,.1)}.warranty p{margin:7px 0 0;color:#adbdc2;line-height:1.55}.contact-section{background:#fff}.contact-card{display:grid;grid-template-columns:1fr 340px;gap:55px;align-items:center;padding:48px;border:1px solid var(--line);border-radius:22px}.contact-card>div>span{color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.contact-card h2{margin-top:11px;font-size:42px}.contact-card p{color:var(--muted);line-height:1.6}.contacts{display:grid;gap:10px}.contacts .phone{padding:15px;color:#fff;border-radius:10px;background:var(--accent);text-align:center;font-size:18px;font-weight:900}.contacts>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.contacts>div a{padding:12px 5px;color:#fff;border-radius:9px;background:var(--teal);text-align:center;font-size:11px;font-weight:900}.contacts>div a:first-child{background:#6c5ce7}.contacts>div a:last-child{background:#25a866}footer{display:flex;min-height:100px;align-items:center;gap:22px}footer img{width:185px}footer span{color:var(--muted)}footer button{margin-left:auto;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;font-weight:800}.public-error{display:grid;min-height:100vh;padding:30px;place-items:center;align-content:center;text-align:center}.public-error img{width:230px}.public-error h1{font-size:40px}.public-error p{color:var(--muted)}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr}.proposal-card{transform:none}.benefits,.steps{grid-template-columns:1fr 1fr}.object-grid,.contact-card{grid-template-columns:1fr}.estimate-row{grid-template-columns:minmax(220px,1fr) 90px 105px 115px}.scheme-card img{height:250px}}
@media(max-width:620px){.shell{width:min(100% - 26px,1180px)}.site-header{height:64px;padding:0 13px}.site-header img{width:155px}.site-header button{font-size:11px}.hero{padding-block:44px;gap:36px}h1{font-size:43px}.hero-copy>p{font-size:17px}.hero-actions{align-items:stretch;flex-direction:column}.assurance{grid-template-columns:1fr}.proposal-meta{grid-template-columns:1fr}.section{padding-block:68px}.benefits,.steps{grid-template-columns:1fr}.benefits article,.steps article{min-height:auto}.estimate-table{overflow-x:auto}.estimate-table>*{min-width:700px}.estimate-totals{grid-template-columns:1fr}.contact-card{padding:26px}.contact-card h2{font-size:34px}footer{align-items:flex-start;flex-direction:column;padding-block:25px}footer button{margin-left:0}}
@page{size:A4;margin:10mm}@media print{.site-header,.trust,#solution,#object,.steps-section,#contact,footer,.hero-actions{display:none!important}html,body{print-color-adjust:exact;-webkit-print-color-adjust:exact}.hero{height:277mm;min-height:0;padding-block:10mm;break-after:page}.proposal-card{box-shadow:none}.estimate-section{padding-block:8mm 0}.estimate-section .shell{width:100%;max-width:none}.estimate-section .section-title{margin-bottom:7mm}.estimate-section .section-title h2{font-size:32px}.estimate-section .section-title p{font-size:14px}.estimate-table{overflow:visible;border-radius:10px}.estimate-table>*{min-width:0}.estimate-row{grid-template-columns:minmax(0,1fr) 72px 90px 98px;gap:8px;min-height:39px;padding:6px 13px;font-size:11px;line-height:1.25;break-inside:avoid}.estimate-head{min-height:32px;font-size:8px}.estimate-group-title,.estimate-subtitle{min-height:33px;padding:0 13px;break-inside:avoid}.estimate-total,.estimate-totals>div{padding:15px;break-inside:avoid}.warranty{margin-top:7mm;padding:14px;font-size:11px;break-inside:avoid}}

/* PDF controls and a quieter brand palette: navy for structure, teal for service, orange for action. */
:root{--navy:#152d3d;--teal:#13888a;--bg:#f4f7f7;--line:#d3dfe1;--muted:#586d76}
.site-header{column-gap:22px}.pdf-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.site-header .pdf-actions{justify-self:end}.pdf-actions button,.pdf-actions a{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:0 14px;border-radius:10px;font-size:12px;font-weight:900;white-space:nowrap;cursor:pointer}.site-header .pdf-actions button,.site-header .pdf-actions a{justify-self:auto}.pdf-full{color:#fff;border:1px solid var(--navy);background:var(--navy)}.pdf-full:hover{background:#20445b}.pdf-compact{color:#116f72;border:1px solid #86c4c5;background:#eefafa}.pdf-compact:hover{border-color:var(--teal);background:#dff4f4}.document-contract{color:#fff;border:1px solid #cb5b2f;background:#e86732}.document-contract:hover{border-color:#b94e27;background:#cc572c}footer .pdf-actions{margin-left:auto}footer .pdf-actions button,footer .pdf-actions a{margin-left:0}
.estimate-row.prices-hidden-row{grid-template-columns:minmax(260px,1fr) 150px}.estimate-table.prices-hidden .estimate-head span:last-child{justify-self:start}
@media(max-width:1050px){.site-header nav{display:none}.site-header{grid-template-columns:1fr auto}}
@media(max-width:620px){.site-header img{width:118px}.site-header{gap:7px}.site-header .pdf-actions{gap:4px}.pdf-actions button,.pdf-actions a{min-height:36px;padding:0 7px;font-size:9px}footer .pdf-actions{width:100%;margin-left:0}footer .pdf-actions button,footer .pdf-actions a{flex:1}}

@media print{
  :root{--print-navy:#173246;--print-teal:#147f82;--print-orange:#e86732;--print-paper:#f3f7f7;--print-line:#ccdadd}
  .site-header,footer,.hero-actions{display:none!important}
  html,body{color:var(--print-navy);background:#fff;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .proposal-card{border-color:var(--print-line);box-shadow:none;transform:none}
  .proposal-meta div{background:var(--print-paper)}
  .estimate-section{color:var(--print-navy);background:var(--print-paper)}
  .estimate-section .section-title>span{color:var(--print-teal)}
  .estimate-section .section-title p{color:#5f747d}
  .estimate-table{border-color:var(--print-line);background:#fff}
  .estimate-row{border-bottom-color:var(--print-line)}
  .estimate-row.prices-hidden-row{grid-template-columns:minmax(0,1fr) 90px}
  .estimate-row span{color:#5e717a}.estimate-row>b{color:var(--print-teal)}
  .estimate-head{color:#60757e;background:#e7eeef}
  .estimate-group-title{background:#dce7e9}.estimate-subtitle{background:#eef3f4}
  .estimate-group-title span,.estimate-subtitle b{color:var(--print-teal)}
  .estimate-subsection.cloud .estimate-subtitle{color:#fff;background:var(--print-teal)}
  .estimate-subsection.cloud .estimate-subtitle b{color:#fff}
  .estimate-total,.estimate-totals>div{color:#fff;background:var(--print-navy)}
  .estimate-totals .cloud-total{color:#fff;background:var(--print-teal)}
  .warranty{color:var(--print-navy);border-color:#add2d3;background:#e7f3f3}
  .warranty p{color:#536d76}

  body[data-print-mode="compact"] .trust,
  body[data-print-mode="compact"] #solution,
  body[data-print-mode="compact"] #object,
  body[data-print-mode="compact"] .steps-section,
  body[data-print-mode="compact"] #contact{display:none!important}

  body[data-print-mode="full"] .trust,
  body[data-print-mode="full"] #solution,
  body[data-print-mode="full"] #object,
  body[data-print-mode="full"] .steps-section,
  body[data-print-mode="full"] #contact{display:block!important}
  body[data-print-mode="full"] .hero{height:auto;min-height:211mm;padding-block:10mm;break-after:auto}
  body[data-print-mode="full"] .trust{break-after:page;background:var(--print-navy)}
  body[data-print-mode="full"] .trust .shell{padding-block:6mm}
  body[data-print-mode="full"] .section{padding-block:10mm}
  body[data-print-mode="full"] .section-title{margin-bottom:7mm}
  body[data-print-mode="full"] .section-title h2{font-size:34px}
  body[data-print-mode="full"] .section-title p{font-size:14px}
  body[data-print-mode="full"] .benefits,
  body[data-print-mode="full"] .steps{grid-template-columns:repeat(2,1fr);gap:4mm}
  body[data-print-mode="full"] .benefits article,
  body[data-print-mode="full"] .steps article{min-height:42mm;padding:5mm;break-inside:avoid}
  body[data-print-mode="full"] .benefits h3,
  body[data-print-mode="full"] .steps h3{margin:7mm 0 2mm}
  body[data-print-mode="full"] .object-grid{grid-template-columns:.9fr 1.1fr;gap:9mm}
  body[data-print-mode="full"] .object-section{background:#fff;break-inside:avoid}
  body[data-print-mode="full"] .steps-section{background:var(--print-paper)}
  body[data-print-mode="full"] .estimate-section{break-before:page}
  body[data-print-mode="full"] .contact-section{padding-top:9mm;background:#fff;break-inside:avoid}
  body[data-print-mode="full"] .contact-card{grid-template-columns:1fr 72mm;gap:8mm;padding:8mm;border-color:var(--print-line)}
  body[data-print-mode="full"] .contact-card h2{font-size:32px}
  body[data-print-mode="full"] .contacts .phone{background:var(--print-orange)}
  body[data-print-mode="full"] .contacts>div a{background:var(--print-teal)}

  /* Dense pagination: fill the current sheet before starting another one. */
  .hero,
  body[data-print-mode="full"] .hero{height:auto;min-height:0;padding-block:7mm;break-after:auto}
  body[data-print-mode="full"] .trust{break-after:auto}
  body[data-print-mode="full"] .estimate-section{break-before:auto}
  body[data-print-mode="full"] .section{padding-block:8mm}
  body[data-print-mode="full"] .object-section,
  body[data-print-mode="full"] .contact-section{break-inside:auto}
  .section-title,.estimate-section .section-title{break-after:avoid-page}
  .benefits article,.steps article,.proposal-card,.warranty,.contact-card{break-inside:avoid-page}
  .estimate-group-title,.estimate-subtitle,.estimate-row,.estimate-total,.estimate-totals>div{break-inside:avoid-page}
  .estimate-section{padding-block:7mm}
}

.estimate-subtitle>span{display:flex;align-items:center;gap:9px}
.estimate-subtitle small{padding:3px 7px;color:#d8f7f5;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.estimate-detail-row strong{display:grid;gap:3px;font-weight:700}
.estimate-detail-row strong small{color:#83d8d5;font-size:10px;font-weight:800}

.estimate-group-totals{display:grid;gap:4px;text-align:right;padding-block:8px}
.estimate-totals.period-totals{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.estimate-totals.period-totals>div{align-items:flex-start;flex-direction:column;gap:8px}
@media(max-width:620px){.estimate-totals.period-totals{grid-template-columns:1fr}}
