.cost-dialog-open{overflow:hidden}
#cost-estimate{margin-top:26px;background:#e4f0ec;padding:0 23px;border-color:#b4cfca}
#cost-estimate>summary{font-size:17px;line-height:1.5;padding:21px 32px 21px 0}
#cost-estimate .answer{padding-bottom:23px}
#cost-estimate .table-wrap+.table-hint{display:none}
#cost-estimate .cost-assumption{font-size:13px;margin-bottom:17px}
#cost-estimate table{width:100%;min-width:0;table-layout:fixed}
#cost-estimate th,#cost-estimate td{padding:14px 15px;font-size:14px;line-height:1.5;vertical-align:top}
#cost-estimate thead th:first-child{width:61%}
#cost-estimate th small{display:block;font-weight:400;font-size:11px;line-height:1.5;margin-top:4px;color:#49646b}
#cost-estimate td{text-align:right;font-variant-numeric:tabular-nums}
#cost-estimate tfoot{background:#153540;color:white}
#cost-estimate tfoot th,#cost-estimate tfoot td{font-size:16px;font-weight:600}
#cost-estimate .cost-footnote{font-size:12px;line-height:1.65;margin:17px 0;color:#405b63}
#cost-estimate .cost-enquiry-invitation{border-top:1px solid #b4cfca;padding-top:21px;margin-top:22px}
#cost-estimate .cost-enquiry-invitation h3{font-size:28px;line-height:1.2;margin:0 0 10px}
#cost-estimate .cost-enquiry-invitation p{font-size:15px;margin:0 0 18px}
#cost-estimate .btn{font-size:13px;white-space:normal;max-width:100%;text-align:center}
.cost-consultation{width:min(650px,calc(100% - 28px));max-width:none;max-height:88dvh;overflow:auto;overscroll-behavior:contain;margin:auto;padding:34px;border:1px solid #a5cbc5;background:#f7f7f0;color:#153540;box-sizing:border-box;box-shadow:0 25px 90px #0005}
.cost-consultation::backdrop{background:#071d27b8;backdrop-filter:blur(3px)}
.cost-consultation .eyebrow{font-size:10px;color:#187a77;padding-right:40px}
.cost-consultation h2{font-size:40px;line-height:1.05;margin:0 0 18px;max-width:470px}
.cost-consultation p{color:#405b63;font-size:14px;line-height:1.6}
.cost-consultation #form-mode{font-size:12px;background:#e4f0ec;padding:12px 14px}
.cost-dialog-close{position:absolute;right:12px;top:12px;border:0;background:transparent;color:#153540;width:44px;height:44px;font:30px/1 var(--sans);cursor:pointer}
.cost-consultation .field label{font-size:12px;line-height:1.5}
.cost-consultation input,.cost-consultation select,.cost-consultation textarea{font-size:16px;min-width:0;width:100%;box-sizing:border-box}
.cost-consultation .form-grid{gap:16px}
.cost-consultation textarea{min-height:85px}
.cost-consultation .consent{font-size:11px;line-height:1.6}
.cost-consultation .consent input{width:18px;flex-shrink:0}
.cost-consultation .cost-return{margin-top:18px;background:transparent;border:0;padding:8px 0;font-size:13px;cursor:pointer;color:#187a77}
@media(max-width:600px){
 #cost-estimate{padding-inline:17px}
 #cost-estimate th,#cost-estimate td{font-size:12px;padding:12px 9px}
 #cost-estimate thead th:first-child{width:52%}
 #cost-estimate tfoot th,#cost-estimate tfoot td{font-size:13px}
 .cost-consultation{padding:28px 20px;max-height:88dvh}
 .cost-consultation h2{font-size:33px}
 .cost-consultation .form-grid{grid-template-columns:1fr}
 .cost-consultation .btn{font-size:13px;width:100%;white-space:normal}
}
/* Shared popup on editorial pages and campaigns; keep the reading position on iOS too. */
.cost-dialog-open body{position:fixed;top:var(--enquiry-scroll);width:100%;overflow:hidden}
.cost-consultation{font-family:var(--sans,Arial,sans-serif)}
.cost-consultation h2{font-family:var(--serif,Georgia,serif)}
.cost-consultation .field,.cost-consultation .fld{min-width:0;margin-bottom:14px;text-align:left}
.cost-consultation label{color:#153540}
.cost-consultation .fld label{display:block;font-size:12px;line-height:1.5;margin-bottom:6px}
.cost-consultation .field input,.cost-consultation .field select,.cost-consultation .field textarea,.cost-consultation .fld input,.cost-consultation .fld select{background:#fff;color:#153540;border:1px solid #91aaa7;border-radius:0;padding:11px 12px;min-height:45px}
.cost-consultation .landing-form{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;margin:0;padding:0;background:none;box-shadow:none;border:0}
.cost-consultation .landing-form .consent,.cost-consultation .landing-form>.btn,.cost-consultation .landing-form>.form-status{grid-column:1/-1}
.cost-consultation .consent{display:flex;gap:10px;align-items:flex-start;margin:12px 0 18px;color:#314d57;text-align:left}
.cost-consultation .consent input{width:18px;min-height:18px;margin-top:3px;accent-color:#187c77}
.cost-consultation .form-status{color:#153540;text-align:left}
.cost-consultation .btn{background:#9cddd6;color:#12313d;border:1px solid #9cddd6}
.cost-consultation .btn:disabled{opacity:.7}
.cost-consultation :focus-visible{outline:3px solid #187c77;outline-offset:3px}
@media(max-width:600px){.cost-consultation .landing-form{grid-template-columns:1fr}.cost-consultation .field,.cost-consultation .fld{margin-bottom:7px}.cost-consultation .landing-form .fld{grid-column:1}}
.cost-consultation .form-grid{gap:14px 16px}
.cost-consultation .form-grid .field{margin-bottom:0}
@media(min-width:601px){.cost-consultation .form-grid{grid-template-columns:1fr 1fr}.cost-consultation .form-grid .field{grid-column:auto}}

/* Optional notes span the form and stay compact on desktop and mobile. */
.cost-consultation .form-grid .enquiry-notes,.cost-consultation .landing-form .enquiry-notes{grid-column:1/-1}
.cost-consultation .enquiry-notes textarea{display:block;background:#fff;color:#153540;border:1px solid #91aaa7;border-radius:0;padding:11px 12px;min-height:76px;resize:vertical;font:inherit;font-size:16px;line-height:1.45}
.cost-consultation .enquiry-notes textarea::placeholder{color:#536c73;opacity:1}
