:root{--ink:#14212b;--muted:#697985;--line:#dfe6ea;--soft:#f4f7f8;--blue:#08aeea;--blue2:#0076ea;--navy:#052d66;--yellow:#ffbf00;--green:#14885e;--red:#c9302c;--shadow:0 14px 35px rgba(17,42,57,.10);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#eef3f5}body{margin:0;background:linear-gradient(180deg,#fff 0,#f5f8f9 55%,#eef3f5 100%);color:var(--ink)}button,input,select{font:inherit}.site-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 6px 20px rgba(17,42,57,.07)}.logo-link{display:flex;justify-content:center;align-items:center;padding:.35rem 1rem 0;text-decoration:none;background:#07326f}.site-logo{display:block;width:min(96vw,1120px);height:auto;max-height:235px;object-fit:contain}.main-tabs{display:flex;justify-content:center;gap:.45rem;padding:.7rem 1rem .85rem;background:#fff}.tab-button{border:0;border-radius:999px;padding:.72rem 1.18rem;background:#eef4f6;color:#4c5d68;font-weight:750;cursor:pointer}.tab-button:hover{background:#e3f6ff;color:#006aa3}.tab-button.is-active{background:#dff5ff;color:#006fa9;box-shadow:inset 0 0 0 1px #bceaff}.site-main{width:min(1560px,calc(100% - 2rem));margin:0 auto;padding:1.1rem 0 3rem}.tab-panel[hidden]{display:none}.calculator-topline{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:.2rem 0 .8rem}.eyebrow{display:block;color:#0086bf;font-weight:800;text-transform:uppercase;font-size:.72rem;letter-spacing:.12em}.calculator-topline h1,.content-hero h1{margin:.15rem 0 0;font-size:clamp(1.8rem,3vw,2.8rem);letter-spacing:-.04em}.intro-copy{margin:.35rem 0 0;color:var(--muted);font-size:.88rem;max-width:55rem}.consult-header,.book-btn,.submit-btn,.download-btn,.secondary-btn{border:0;border-radius:.75rem;font-weight:800;cursor:pointer}.consult-header{padding:.75rem 1rem;background:#e3f6ff;color:#0873a2}.quote-form{display:block}.stages-grid{display:grid;grid-template-columns:.82fr 1.44fr 1fr;gap:.8rem;align-items:stretch}.stage-card{min-width:0;margin:0;padding:.8rem;border:1px solid var(--line);border-radius:1.1rem;background:#fff;box-shadow:var(--shadow)}.stage-card legend{display:flex;gap:.65rem;align-items:center;padding:0 .25rem}.stage-card legend>span:last-child{display:grid}.stage-card legend strong{font-size:.98rem}.stage-card legend small{font-size:.72rem;color:var(--muted)}.stage-number{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:#06aee8;color:#fff;font-weight:850}.form-grid{display:grid;gap:.55rem;margin-top:.65rem}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;gap:.22rem}.field label{font-size:.72rem;font-weight:750;color:#4f606b}.field label span,.mini-instruction span{color:var(--red)}.field select,.field input{width:100%;min-height:2.35rem;padding:.48rem .55rem;border:1px solid #ccd7dc;border-radius:.56rem;background:#fff;color:#17232c;outline:none}.field select:focus,.field input:focus{border-color:#0baee7;box-shadow:0 0 0 3px rgba(11,174,231,.10)}.field input.invalid,.field select.invalid{border-color:#d55353;background:#fff8f8}.error{min-height:.8rem;color:#bd3131;font-size:.65rem}.block-error{display:block;margin-top:.25rem}.price-model-note{margin:.55rem 0 .45rem;padding:.45rem .55rem;border-radius:.55rem;background:#eef9fd;color:#34515f;font-size:.67rem}.unit-table-wrap{overflow-x:auto}.unit-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.65rem;table-layout:fixed;border:1px solid #e1e7ea;border-radius:.65rem;overflow:hidden}.unit-table th,.unit-table td{padding:.28rem .34rem;border-right:1px solid #e6ecef;border-bottom:1px solid #e6ecef;text-align:center;vertical-align:middle}.unit-table tr:last-child th,.unit-table tr:last-child td{border-bottom:0}.unit-table th:last-child,.unit-table td:last-child{border-right:0}.unit-table thead th{background:#f2f7f9;color:#445762;font-size:.63rem}.unit-table tbody th{background:#fafcfd;text-align:left;font-size:.66rem}.unit-table td span{display:block;color:#7b8a92;font-size:.58rem}.unit-table td b{display:block;color:#056e9d;font-size:.7rem;margin:.05rem 0}.unit-table td input{width:3rem;height:1.7rem;border:1px solid #cbd7dd;border-radius:.38rem;text-align:center;padding:.15rem}.pricing-sources{margin-top:.3rem;color:#62737d;font-size:.62rem}.pricing-sources summary{cursor:pointer;color:#0d769d;font-weight:750}.pricing-sources p{margin:.3rem 0 0;line-height:1.45}.upload-field input[type=file]{position:absolute;left:-9999px}.upload-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:2.35rem;border:1px dashed #7fcce8!important;border-radius:.55rem;background:#f0fbff;color:#0576a3!important;cursor:pointer}.upload-help{color:#85939a;font-size:.62rem}.photo-previews{display:flex;gap:.35rem;min-height:2.9rem;margin-top:.35rem}.photo-preview{position:relative;width:3.2rem;height:2.55rem;border-radius:.45rem;overflow:hidden;border:1px solid #d4dfe4;background:#f3f6f7}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-preview button{position:absolute;right:.12rem;top:.12rem;width:1rem;height:1rem;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;cursor:pointer}.action-bar{display:grid;grid-template-columns:1.25fr .75fr;gap:.8rem;margin-top:.8rem}.consult-box,.price-action{display:flex;align-items:center;gap:.8rem;padding:.8rem;border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:var(--shadow)}.consult-box{justify-content:space-between}.consult-copy{display:flex;gap:.6rem;align-items:center;min-width:0}.consult-copy>div{display:grid}.consult-copy strong{font-size:.8rem}.consult-copy span{font-size:.66rem;color:var(--muted)}.consult-icon{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.7rem;background:#e4f7ff;color:#0581b5}.painter-request{display:flex;gap:.4rem;align-items:flex-start;font-size:.66rem;color:#53656f}.painter-request>span{display:grid}.painter-request small{color:#88969d}.book-btn{padding:.65rem .8rem;background:#e3f6ff;color:#0873a2;white-space:nowrap}.price-action{justify-content:space-between}.vat-note{font-size:.68rem;color:#647680;max-width:23rem}.submit-stack{display:flex;align-items:center;gap:.55rem}.submit-status{font-size:.67rem;color:#53707d}.submit-status.is-error{color:#b42f2f}.submit-status.is-success{color:#16724f}.submit-btn{padding:.78rem 1rem;background:#171717;color:#fff;white-space:nowrap}.submit-btn:disabled{opacity:.55;cursor:wait}.result-panel{margin-top:.8rem;padding:1rem;border:1px solid #bde8f8;border-radius:1rem;background:linear-gradient(145deg,#fafdff,#eefaff);box-shadow:var(--shadow)}.result-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center}.result-kicker{margin:0;color:#5e737e;font-size:.7rem;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.result-price{font-size:2rem;font-weight:900;letter-spacing:-.04em;color:#0a709b}.result-heading small{color:#60747e}.result-actions{display:flex;gap:.5rem;flex-wrap:wrap}.download-btn{padding:.7rem .9rem;background:#0878aa;color:#fff}.secondary-btn{padding:.7rem .9rem;background:#fff;border:1px solid #b9dce9;color:#27677f}.breakdown-wrap{margin-top:.8rem;overflow-x:auto}.breakdown-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #dce7eb;border-radius:.7rem;overflow:hidden;font-size:.76rem}.breakdown-table th,.breakdown-table td{padding:.5rem .6rem;border-bottom:1px solid #e6edef;text-align:left}.breakdown-table th:last-child,.breakdown-table td:last-child{text-align:right}.breakdown-table tr:last-child td{border-bottom:0}.breakdown-total{font-weight:850}.saved-message{margin:.65rem 0 0;color:#61727b;font-size:.72rem}.content-panel{padding-top:.7rem}.content-hero{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:1rem 0}.content-hero p{max-width:52rem;color:var(--muted)}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.resource-card,.criteria-card,.directory-shell{padding:1.15rem;border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:var(--shadow)}.resource-card h2,.criteria-card h2,.directory-shell h2{margin:.1rem 0 .8rem}.resource-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;list-style:none;padding:0;margin:0}.resource-list li,.service-grid>div{display:grid;padding:.7rem;border:1px solid #e6ecef;border-radius:.7rem;background:#fbfcfd}.resource-list span,.service-grid span,.technique-list span{color:var(--muted);font-size:.76rem}.tag-cloud{display:flex;flex-wrap:wrap;gap:.5rem}.tag-cloud span{padding:.5rem .65rem;border-radius:999px;background:#eef7fa;color:#4d6470;font-size:.78rem}.service-grid,.swatches,.criteria-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.swatches>div{display:flex;align-items:center;gap:.6rem;padding:.6rem;border:1px solid #e7edef;border-radius:.7rem}.swatches i{width:2.1rem;height:2.1rem;border-radius:.55rem;background:var(--swatch);border:1px solid rgba(0,0,0,.08)}.technique-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;padding-left:1.25rem}.technique-list li{padding:.45rem}.painters-hero{align-items:center}.criteria-card{margin-bottom:1rem}.criteria-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.criteria-grid>div{display:grid;gap:.25rem;padding:.75rem;border:1px solid #e4ebee;border-radius:.7rem}.criteria-grid>div>span{color:#0a8bbb;font-size:.7rem;font-weight:850}.criteria-grid small{color:var(--muted)}.directory-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.verification-pill{padding:.45rem .7rem;border-radius:999px;background:#eaf8f1;color:#15714e;font-size:.7rem;font-weight:800}.empty-directory{padding:1rem;border:1px dashed #cbd9de;border-radius:.75rem;background:#fafcfd;color:#60717a}.site-footer{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;padding:1.5rem 1rem;border-top:1px solid var(--line);background:#fff;color:#6e7f88;font-size:.72rem}.site-footer strong{color:#145f7e}
@media(max-width:1180px){.stages-grid{grid-template-columns:1fr}.site-header{position:static}.site-logo{max-height:none}.criteria-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-bar{grid-template-columns:1fr}.resource-grid{grid-template-columns:1fr}}
@media(max-width:760px){.site-main{width:min(100% - 1rem,1560px)}.logo-link{padding:.15rem .25rem 0}.site-logo{width:100%;max-height:none}.main-tabs{overflow-x:auto;justify-content:flex-start;padding:.55rem}.tab-button{white-space:nowrap;font-size:.78rem}.calculator-topline,.content-hero,.result-heading{display:block}.top-actions{margin-top:.6rem}.two-col,.resource-list,.service-grid,.swatches,.technique-list,.criteria-grid{grid-template-columns:1fr}.consult-box,.price-action{align-items:stretch;flex-direction:column}.submit-stack{justify-content:space-between}.submit-btn{width:100%}.result-actions{margin-top:.7rem}.unit-table{min-width:650px}.site-footer{flex-direction:column;align-items:center;text-align:center}}

/* v4.1 desktop landing: one-screen, zero-scroll calculator layout. */
@media (min-width:1181px) and (min-height:700px){
  body.calculator-fit{height:100vh;overflow:hidden;background:#eef3f5}
  body.calculator-fit .site-header{position:relative;top:auto;height:168px;display:grid;grid-template-rows:122px 46px;box-shadow:0 3px 14px rgba(17,42,57,.07)}
  body.calculator-fit .logo-link{height:122px;padding:0 .75rem;background:#062e69;overflow:hidden}
  body.calculator-fit .site-logo{width:min(97vw,1460px);height:118px;max-height:118px;object-fit:contain}
  body.calculator-fit .main-tabs{height:46px;padding:.32rem .8rem .38rem;align-items:center}
  body.calculator-fit .tab-button{padding:.50rem 1rem;font-size:.80rem}
  body.calculator-fit .site-main{height:calc(100vh - 168px);width:min(1740px,calc(100% - 1rem));margin:0 auto;padding:.38rem 0 .35rem;overflow:hidden}
  body.calculator-fit #panel-calculator{height:100%;display:grid;grid-template-rows:48px minmax(0,1fr) 74px;gap:.38rem}
  body.calculator-fit .calculator-topline{height:48px;margin:0;align-items:center;padding:0 .15rem}
  body.calculator-fit .calculator-topline h1{font-size:1.42rem;margin:0;line-height:1.02}
  body.calculator-fit .eyebrow{font-size:.59rem;line-height:1}
  body.calculator-fit .intro-copy{font-size:.67rem;line-height:1.2;margin:.15rem 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:68vw}
  body.calculator-fit .consult-header{padding:.50rem .70rem;font-size:.72rem}
  body.calculator-fit .quote-form{min-height:0;display:contents}
  body.calculator-fit .stages-grid{min-height:0;height:100%;grid-template-columns:.80fr 1.52fr 1fr;gap:.42rem;align-items:stretch}
  body.calculator-fit .stage-card{height:100%;min-height:0;padding:.42rem .48rem;border-radius:.72rem;overflow:hidden;box-shadow:0 6px 18px rgba(17,42,57,.07)}
  body.calculator-fit .stage-card legend{gap:.42rem;padding:0 .12rem}
  body.calculator-fit .stage-number{width:1.48rem;height:1.48rem;font-size:.72rem}
  body.calculator-fit .stage-card legend strong{font-size:.78rem;line-height:1}
  body.calculator-fit .stage-card legend small{font-size:.55rem;line-height:1.1}
  body.calculator-fit .form-grid{gap:.28rem .36rem;margin-top:.30rem}
  body.calculator-fit .field{gap:.05rem}
  body.calculator-fit .field label{font-size:.57rem;line-height:1.05}
  body.calculator-fit .field select,body.calculator-fit .field input{min-height:1.72rem;height:1.72rem;padding:.22rem .34rem;font-size:.65rem;border-radius:.38rem}
  body.calculator-fit .error{min-height:.35rem;font-size:.49rem;line-height:.9}
  body.calculator-fit .price-model-note{margin:.28rem 0 .24rem;padding:.24rem .36rem;font-size:.53rem;line-height:1.15}
  body.calculator-fit .unit-table-wrap{overflow:hidden}
  body.calculator-fit .unit-table{font-size:.51rem;border-radius:.44rem}
  body.calculator-fit .unit-table th,body.calculator-fit .unit-table td{padding:.12rem .18rem;line-height:1.02}
  body.calculator-fit .unit-table thead th{font-size:.51rem}
  body.calculator-fit .unit-table tbody th{font-size:.52rem}
  body.calculator-fit .unit-table td span{font-size:.45rem;line-height:1}
  body.calculator-fit .unit-table td b{font-size:.54rem;line-height:1;margin:0}
  body.calculator-fit .unit-table td input{width:2.55rem;height:1.18rem;font-size:.57rem;padding:.03rem}
  body.calculator-fit .block-error{margin:0;min-height:.26rem}
  body.calculator-fit .pricing-sources{margin-top:.07rem;font-size:.48rem;line-height:1.1}
  body.calculator-fit .pricing-sources p{margin:.12rem 0 0;line-height:1.2}
  body.calculator-fit .upload-button{min-height:1.72rem!important;height:1.72rem;font-size:.61rem;border-radius:.38rem}
  body.calculator-fit .upload-help{font-size:.48rem;line-height:1}
  body.calculator-fit .photo-previews{min-height:1.8rem;height:1.8rem;margin-top:.12rem;gap:.18rem}
  body.calculator-fit .photo-preview{width:2.45rem;height:1.78rem;border-radius:.28rem}
  body.calculator-fit .photo-preview button{width:.78rem;height:.78rem;font-size:.58rem;line-height:.78rem}
  body.calculator-fit .action-bar{height:74px;grid-template-columns:1.28fr .72fr;gap:.42rem;margin:0}
  body.calculator-fit .consult-box,body.calculator-fit .price-action{height:74px;padding:.42rem .55rem;border-radius:.72rem;gap:.45rem;box-shadow:0 5px 16px rgba(17,42,57,.06)}
  body.calculator-fit .consult-copy{gap:.36rem}
  body.calculator-fit .consult-icon{width:1.7rem;height:1.7rem;border-radius:.45rem;font-size:.72rem}
  body.calculator-fit .consult-copy strong{font-size:.64rem}
  body.calculator-fit .consult-copy span,body.calculator-fit .painter-request{font-size:.54rem;line-height:1.13}
  body.calculator-fit .painter-request small{font-size:.49rem;line-height:1.05}
  body.calculator-fit .book-btn{padding:.45rem .58rem;font-size:.62rem}
  body.calculator-fit .vat-note{font-size:.54rem;line-height:1.15}
  body.calculator-fit .submit-status{font-size:.52rem;max-width:11rem}
  body.calculator-fit .submit-btn{padding:.55rem .72rem;font-size:.67rem;border-radius:.55rem}
  body.calculator-fit .result-panel{display:none!important}
  body.calculator-fit .site-footer{display:none}
}

/* v4.2 desktop readability + compact content-height landing.
   Stages no longer stretch into tall empty white columns. */
@media (min-width:1181px) and (min-height:700px){
  body.calculator-fit{height:100vh;overflow:hidden;background:#eef3f5}
  body.calculator-fit .site-header{height:174px;grid-template-rows:126px 48px}
  body.calculator-fit .logo-link{height:126px;padding:0 .8rem}
  body.calculator-fit .site-logo{width:min(97vw,1480px);height:122px;max-height:122px}
  body.calculator-fit .main-tabs{height:48px;padding:.34rem .8rem .40rem}
  body.calculator-fit .tab-button{padding:.54rem 1.08rem;font-size:.88rem;line-height:1}

  body.calculator-fit .site-main{
    height:calc(100vh - 174px);
    width:min(1740px,calc(100% - 1rem));
    padding:.52rem 0 .35rem;
    overflow:hidden;
  }
  body.calculator-fit #panel-calculator{
    height:100%;
    display:grid;
    grid-template-rows:58px auto 82px;
    align-content:start;
    gap:.50rem;
  }
  body.calculator-fit .calculator-topline{height:58px;margin:0;align-items:center;padding:0 .18rem}
  body.calculator-fit .calculator-topline h1{font-size:1.72rem;line-height:1.04}
  body.calculator-fit .eyebrow{font-size:.68rem;line-height:1;letter-spacing:.13em}
  body.calculator-fit .intro-copy{font-size:.77rem;line-height:1.25;margin:.20rem 0 0;max-width:72vw}
  body.calculator-fit .consult-header{padding:.58rem .82rem;font-size:.80rem}

  body.calculator-fit .stages-grid{
    height:auto;
    min-height:0;
    grid-template-columns:.88fr 1.50fr 1.08fr;
    gap:.52rem;
    align-items:start;
  }
  body.calculator-fit .stage-card{
    height:auto;
    min-height:0;
    padding:.58rem .64rem .64rem;
    border-radius:.82rem;
    overflow:visible;
  }
  body.calculator-fit .stage-card legend{gap:.48rem;padding:0 .14rem}
  body.calculator-fit .stage-number{width:1.72rem;height:1.72rem;font-size:.82rem}
  body.calculator-fit .stage-card legend strong{font-size:.93rem;line-height:1.05}
  body.calculator-fit .stage-card legend small{font-size:.65rem;line-height:1.15;margin-top:.04rem}

  body.calculator-fit .form-grid{gap:.38rem .46rem;margin-top:.42rem}
  body.calculator-fit .field{gap:.10rem}
  body.calculator-fit .field label{font-size:.70rem;line-height:1.12}
  body.calculator-fit .field select,
  body.calculator-fit .field input{
    min-height:2.12rem;
    height:2.12rem;
    padding:.36rem .46rem;
    font-size:.82rem;
    border-radius:.46rem;
  }
  body.calculator-fit .error{min-height:.42rem;font-size:.56rem;line-height:1}

  body.calculator-fit .price-model-note{
    margin:.38rem 0 .32rem;
    padding:.34rem .42rem;
    font-size:.64rem;
    line-height:1.22;
  }
  body.calculator-fit .unit-table-wrap{overflow:visible}
  body.calculator-fit .unit-table{font-size:.64rem;border-radius:.52rem}
  body.calculator-fit .unit-table th,
  body.calculator-fit .unit-table td{padding:.22rem .24rem;line-height:1.08}
  body.calculator-fit .unit-table thead th{font-size:.64rem}
  body.calculator-fit .unit-table tbody th{font-size:.67rem}
  body.calculator-fit .unit-table td span{font-size:.55rem;line-height:1.05}
  body.calculator-fit .unit-table td b{font-size:.71rem;line-height:1.05;margin:.03rem 0}
  body.calculator-fit .unit-table td input{
    width:2.95rem;
    height:1.48rem;
    font-size:.69rem;
    padding:.06rem .12rem;
  }
  body.calculator-fit .block-error{margin:.04rem 0 0;min-height:.30rem}
  body.calculator-fit .pricing-sources{margin-top:.14rem;font-size:.57rem;line-height:1.18}
  body.calculator-fit .pricing-sources p{margin:.16rem 0 0;line-height:1.25}

  body.calculator-fit .upload-button{min-height:2.12rem!important;height:2.12rem;font-size:.75rem;border-radius:.46rem}
  body.calculator-fit .upload-help{font-size:.57rem;line-height:1.05}
  body.calculator-fit .photo-previews{min-height:2.35rem;height:2.35rem;margin-top:.22rem;gap:.24rem}
  body.calculator-fit .photo-preview{width:3.1rem;height:2.25rem;border-radius:.34rem}
  body.calculator-fit .photo-preview button{width:.92rem;height:.92rem;font-size:.66rem;line-height:.92rem}

  body.calculator-fit .action-bar{height:82px;grid-template-columns:1.30fr .70fr;gap:.52rem;margin:0}
  body.calculator-fit .consult-box,
  body.calculator-fit .price-action{height:82px;padding:.54rem .68rem;border-radius:.82rem;gap:.58rem}
  body.calculator-fit .consult-copy{gap:.46rem}
  body.calculator-fit .consult-icon{width:1.95rem;height:1.95rem;border-radius:.52rem;font-size:.80rem}
  body.calculator-fit .consult-copy strong{font-size:.75rem;line-height:1.1}
  body.calculator-fit .consult-copy span{font-size:.63rem;line-height:1.18}
  body.calculator-fit .painter-request{font-size:.64rem;line-height:1.18}
  body.calculator-fit .painter-request small{font-size:.56rem;line-height:1.12}
  body.calculator-fit .book-btn{padding:.52rem .68rem;font-size:.72rem}
  body.calculator-fit .vat-note{font-size:.64rem;line-height:1.22}
  body.calculator-fit .submit-status{font-size:.60rem;max-width:12rem}
  body.calculator-fit .submit-btn{padding:.62rem .80rem;font-size:.76rem;border-radius:.60rem}
}

/* v5 customer account, booking, payments and verified reviews */
.site-header{position:relative}
.account-trigger{position:absolute;right:1rem;bottom:.55rem;z-index:4;border:1px solid #a9d9ec;background:#fff;color:#083f70;border-radius:999px;padding:.58rem .9rem;font-weight:800;font-size:.82rem;box-shadow:0 4px 14px rgba(8,63,112,.10);cursor:pointer}
.account-trigger:hover{background:#e9f8ff}
body.calculator-fit .account-trigger{bottom:.46rem;padding:.50rem .78rem;font-size:.76rem}

.booking-payment-panel{margin-top:1rem;border:1px solid #cfe4ed;border-radius:1rem;background:linear-gradient(135deg,#f8fcfe,#edf8fc);padding:1.1rem;display:grid;grid-template-columns:minmax(15rem,.75fr) minmax(28rem,1.25fr);gap:1.1rem;align-items:start}
.booking-payment-copy h2{margin:.15rem 0 .45rem;font-size:1.35rem;color:#16313f}.booking-payment-copy p:last-child{margin:0;color:#5b7180;line-height:1.45}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.booking-field{display:grid;gap:.28rem;font-weight:800;font-size:.82rem;color:#334f5e}.booking-field em{font-weight:500;color:#718691}.booking-field input,.booking-field select{min-height:2.75rem;border:1px solid #c5d9e2;border-radius:.6rem;background:#fff;padding:.55rem .65rem;font:inherit;color:#203946}
.payment-choice{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.payment-choice label{display:flex;gap:.55rem;align-items:flex-start;border:1px solid #c8dde6;background:#fff;border-radius:.75rem;padding:.75rem;cursor:pointer}.payment-choice input{margin-top:.2rem;accent-color:#049ed1}.payment-choice span{display:grid;gap:.14rem}.payment-choice strong{color:#16313f;font-size:.88rem}.payment-choice small{color:#687d89;font-size:.76rem}.payment-terms{grid-column:1/-1;display:flex;gap:.5rem;align-items:flex-start;font-size:.76rem;line-height:1.35;color:#526a77}.payment-terms input{margin-top:.15rem;accent-color:#049ed1}.payment-terms a{color:#007fb1;font-weight:800}.payment-actions{grid-column:1/-1;display:flex;gap:.55rem;justify-content:flex-end;flex-wrap:wrap}.pay-btn{border:0;border-radius:.65rem;background:#111;color:#fff;padding:.72rem 1rem;font-weight:850;cursor:pointer}.pay-btn:hover{background:#242424}.pay-btn:disabled{opacity:.55;cursor:not-allowed}.wallet-note{grid-column:1/-1;margin:0;color:#718691;font-size:.72rem;line-height:1.35}.payment-status{margin:.15rem 0 0;min-height:1.1rem;color:#5e7480;font-size:.78rem}.payment-status.is-error{color:#bd2c2c}.payment-status.is-success{color:#087d4a}

.account-dialog{width:min(920px,calc(100vw - 1.4rem));max-height:min(88vh,900px);border:0;border-radius:1.15rem;padding:0;background:#fff;color:#18313f;box-shadow:0 25px 80px rgba(4,31,49,.28)}.account-dialog::backdrop{background:rgba(5,24,36,.58);backdrop-filter:blur(3px)}.dialog-shell{position:relative;padding:1.4rem;overflow:auto;max-height:88vh}.dialog-close{position:absolute;right:.8rem;top:.7rem;width:2.2rem;height:2.2rem;border:0;border-radius:50%;background:#eef5f7;color:#23495d;font-size:1.4rem;line-height:1;cursor:pointer}.dialog-shell>h2,.account-heading h2{margin:.2rem 0 .5rem;font-size:1.6rem}.auth-switch,.account-tabs{display:flex;gap:.35rem;margin:1rem 0}.auth-switch button,.account-tabs button{border:1px solid #cbdde5;background:#f5f9fb;border-radius:999px;padding:.55rem .8rem;font-weight:800;color:#506a77;cursor:pointer}.auth-switch button.is-active,.account-tabs button.is-active{background:#dff5ff;color:#0079aa;border-color:#9fdcf3}.auth-form{display:grid;gap:.75rem;max-width:520px}.auth-form label,.review-grid label,.review-comment{display:grid;gap:.3rem;font-weight:800;font-size:.83rem}.auth-form input,.review-grid select,.review-comment textarea{border:1px solid #c4d7e0;border-radius:.6rem;padding:.65rem .7rem;font:inherit}.account-legal{font-size:.75rem;color:#677e8a}.account-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.account-heading p{margin:0;color:#6a7f8a}.account-section{display:grid;gap:.75rem}.account-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.account-stat{border:1px solid #d5e5eb;border-radius:.8rem;background:#f8fbfc;padding:.8rem}.account-stat strong{display:block;font-size:1.25rem;color:#0a7fae}.account-stat span{font-size:.76rem;color:#6b808b}.history-list{display:grid;gap:.55rem}.history-card{border:1px solid #d4e4ea;border-radius:.8rem;padding:.75rem;background:#fff}.history-card-head{display:flex;justify-content:space-between;gap:1rem}.history-card h3{margin:0;font-size:.9rem}.history-card p{margin:.25rem 0 0;color:#6b7f89;font-size:.76rem}.status-pill{display:inline-flex;align-items:center;border-radius:999px;background:#eef7fa;padding:.25rem .5rem;font-size:.68rem;font-weight:800;color:#397083}.review-job-btn{margin-top:.55rem;border:1px solid #93d9f1;background:#e7f8ff;color:#087da8;border-radius:.55rem;padding:.45rem .62rem;font-weight:800;cursor:pointer}.timeline{display:grid;gap:.35rem}.timeline-item{border-left:3px solid #85d6ef;padding:.4rem .6rem;background:#f7fbfd}.timeline-item strong{font-size:.78rem}.timeline-item span{display:block;color:#71838c;font-size:.7rem;margin-top:.1rem}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:1rem 0}.review-comment textarea{resize:vertical;min-height:7rem}

.painter-profile{border:1px solid #d3e4ea;border-radius:.9rem;background:#fff;padding:1rem}.painter-profile-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.painter-profile h3{margin:0;color:#193440}.painter-stars{color:#f0a400;letter-spacing:.04em;font-size:1rem}.painter-score{font-weight:900;color:#153f55}.painter-criteria{display:grid;grid-template-columns:repeat(5,1fr);gap:.45rem;margin-top:.75rem}.painter-criteria div{background:#f5fafc;border-radius:.55rem;padding:.45rem}.painter-criteria strong{display:block;font-size:.76rem}.painter-criteria span{font-size:.68rem;color:#6d8089}.painter-bio{color:#607682;font-size:.78rem;margin:.55rem 0 0}

@media(max-width:900px){.account-trigger{position:static;margin:.45rem auto .6rem;display:block}.booking-payment-panel{grid-template-columns:1fr}.booking-grid{grid-template-columns:1fr}.payment-choice{grid-template-columns:1fr}.payment-choice,.payment-terms,.payment-actions,.wallet-note{grid-column:1}.account-summary-grid{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.painter-criteria{grid-template-columns:1fr 1fr}.account-heading{flex-direction:column}.site-header{padding-bottom:.2rem}}

/* v5.2 — permanent quotation documents in customer history */
.history-card-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.6rem}.history-pdf-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.2rem;padding:.45rem .7rem;border:1px solid #8fd6ee;border-radius:.55rem;background:#e8f8ff;color:#087da8;font-size:.75rem;font-weight:850;text-decoration:none}.history-pdf-link:hover{background:#d8f3ff;border-color:#62c5e7}.history-pdf-link:focus-visible{outline:3px solid rgba(10,127,174,.2);outline-offset:2px}

/* v5.4: make Kitchen / Bathroom / Open-plan kitchen impossible to miss */
.area-quick{display:flex;align-items:center;gap:.28rem;flex-wrap:wrap;margin-top:.12rem}.area-quick>span{font-size:.62rem;color:#73838c;font-weight:800}.area-quick button{border:1px solid #b9dfea;border-radius:999px;background:#eefaff;color:#086f99;padding:.20rem .38rem;font-size:.61rem;font-weight:800;line-height:1.1;cursor:pointer}.area-quick button:hover,.area-quick button.is-selected{background:#d8f4ff;border-color:#66c8e8;color:#005f87}.area-quick button:focus-visible{outline:2px solid #08aeea;outline-offset:2px}
@media(min-width:1050px){body.calculator-fit .area-quick{gap:.20rem;margin-top:.08rem;flex-wrap:nowrap}body.calculator-fit .area-quick>span{font-size:.55rem}body.calculator-fit .area-quick button{font-size:.56rem;padding:.14rem .28rem;white-space:nowrap}body.calculator-fit .project-area-field .error{min-height:.18rem}}


/* v5.5: prominent room-area selector — Kitchen / Bathroom / Open-plan kitchen */
.project-area-prominent{grid-column:1/-1;padding:.42rem .48rem;border:1px solid #9fdaf0;border-radius:.68rem;background:linear-gradient(180deg,#f6fcff,#edf9fd)}
.project-area-prominent>label{font-size:.84rem!important;color:#154f67!important;font-weight:900!important;margin-bottom:.18rem}
.area-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.36rem;margin:.08rem 0 .38rem}
.area-choice{min-height:3.15rem;padding:.44rem .50rem;border:1.5px solid #8bcfe8;border-radius:.58rem;background:#fff;color:#075f84;text-align:left;cursor:pointer;box-shadow:0 2px 7px rgba(20,95,125,.06);transition:.15s ease}
.area-choice strong{display:block;font-size:.83rem;line-height:1.1}
.area-choice small{display:block;margin-top:.16rem;color:#66818d;font-size:.62rem;line-height:1.12;font-weight:650}
.area-choice:hover,.area-choice.is-selected{border-color:#08aeea;background:#dff6ff;color:#034f70;box-shadow:0 0 0 2px rgba(8,174,234,.10)}
.area-choice:focus-visible{outline:3px solid rgba(8,174,234,.28);outline-offset:2px}
.project-area-prominent select{margin-top:0}
@media(max-width:760px){.area-choice-grid{grid-template-columns:1fr}.area-choice{min-height:3rem}}
@media(min-width:1181px) and (min-height:700px){
  body.calculator-fit .project-area-prominent{padding:.28rem .34rem .32rem;border-radius:.52rem}
  body.calculator-fit .project-area-prominent>label{font-size:.72rem!important;margin-bottom:.10rem}
  body.calculator-fit .area-choice-grid{gap:.26rem;margin:.04rem 0 .25rem}
  body.calculator-fit .area-choice{min-height:2.34rem;padding:.28rem .34rem;border-radius:.44rem}
  body.calculator-fit .area-choice strong{font-size:.72rem}
  body.calculator-fit .area-choice small{font-size:.53rem;margin-top:.08rem}
  body.calculator-fit .project-area-prominent select{height:1.92rem;min-height:1.92rem;font-size:.72rem}
  body.calculator-fit .project-area-prominent .error{min-height:.18rem}
}


/* v5.6 room configuration + work agreement */
.special-room-config{grid-column:1/-1}.room-config-box{margin-top:.55rem;padding:.62rem;border:1px solid #d3e5ec;border-radius:.7rem;background:#f9fcfd}.room-config-box>strong{display:flex;gap:.3rem;align-items:baseline;color:#183846;font-size:.78rem}.room-config-box em{font-style:normal;color:#7a8e98;font-weight:600}.choice-row{display:flex;flex-wrap:wrap;gap:.38rem;margin-top:.42rem}.choice-row label{position:relative;display:flex;align-items:center;cursor:pointer}.choice-row input{position:absolute;opacity:0;pointer-events:none}.choice-row span{display:block;padding:.42rem .58rem;border:1px solid #b9d5e0;border-radius:.55rem;background:#fff;color:#325463;font-size:.74rem;font-weight:800}.choice-row input:checked+span{background:#dff6ff;border-color:#03a9e6;color:#00597d;box-shadow:0 0 0 2px rgba(3,169,230,.08)}.nested-choice{margin-top:.46rem;padding-top:.46rem;border-top:1px dashed #d5e5eb}.nested-choice>small{display:block;color:#607984;font-weight:800}.size-help{margin:.38rem 0 0;color:#70858f;font-size:.62rem;line-height:1.3}.two-options span{min-width:4.8rem;text-align:center}.agreement-gate{grid-column:1/-1;display:grid;grid-template-columns:1fr auto auto;gap:.55rem;align-items:center;padding:.7rem;border:1px solid #c9dfe8;border-radius:.75rem;background:#fff}.agreement-gate div{display:grid;gap:.1rem}.agreement-gate strong{color:#173743}.agreement-gate small{color:#687f8a}.agreement-status{font-size:.75rem;font-weight:800;color:#b35b00}.agreement-status.is-signed{color:#087d4a}.agreement-shell{max-width:760px}.agreement-intro{color:#5c737f}.agreement-summary{display:flex;justify-content:space-between;gap:1rem;padding:.75rem;border-radius:.7rem;background:#eef8fc;color:#183847}.agreement-fieldset{border:0;padding:0;margin:1rem 0}.agreement-fieldset legend{font-weight:850;color:#173743}.role-choice span{min-width:8.3rem;text-align:center}.tenant-approval{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;padding:.8rem;border:1px solid #f0c574;border-radius:.75rem;background:#fff9ec}.tenant-approval label,.agreement-name{display:grid;gap:.35rem;color:#284c5b;font-weight:750}.tenant-approval select,.tenant-approval input,.agreement-name input{min-height:2.7rem;border:1px solid #bfd6df;border-radius:.55rem;padding:.55rem;background:#fff}.signature-block{margin:1rem 0}.signature-head{display:flex;justify-content:space-between;align-items:center}.signature-head button{border:0;background:none;color:#007fad;font-weight:800;cursor:pointer}.signature-block canvas{display:block;width:100%;height:150px;margin-top:.35rem;border:2px dashed #9dc7d7;border-radius:.7rem;background:#fff;touch-action:none}.signature-block small{color:#6e838d}.agreement-check{display:flex;gap:.55rem;align-items:flex-start;margin:.7rem 0;color:#4b6570;font-size:.82rem;line-height:1.4}.agreement-check input{margin-top:.18rem;accent-color:#079fd2}@media(max-width:720px){.tenant-approval{grid-template-columns:1fr}.agreement-gate{grid-template-columns:1fr}.role-choice{display:grid;grid-template-columns:1fr}.role-choice span{min-width:0}}

/* v5.7 order form */
.order-gate{border-color:#b9dbea;background:linear-gradient(135deg,#fff,#f5fbfe)}
.order-shell{max-width:800px}.order-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem}.order-grid label{display:grid;gap:.35rem;color:#284c5b;font-weight:800;font-size:.82rem}.order-grid input,.order-grid select,.order-grid textarea{width:100%;min-height:2.7rem;border:1px solid #bfd6df;border-radius:.55rem;padding:.6rem .65rem;background:#fff;color:#18313f;font:inherit}.order-grid textarea{resize:vertical;line-height:1.4}.order-grid input[readonly]{background:#f3f7f9;color:#60727c}.order-grid .order-full{grid-column:1/-1}.order-grid em{font-style:normal;color:#71858e;font-weight:600}.order-note{margin:.7rem 0;padding:.7rem;border-left:3px solid #65c7e8;background:#f3fbfe;color:#55717d;font-size:.78rem;line-height:1.4}.order-note strong{color:#214b5c}
@media(max-width:720px){.order-grid{grid-template-columns:1fr}.order-grid .order-full{grid-column:auto}}
