/* Finishing pass: compact imagery, readable reviews and touch-friendly controls. */
.field[hidden]{display:none!important}
.coverage-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;margin:26px 0}
.coverage-map-panel{background:var(--soft);border:1px solid var(--line);min-width:0;min-height:420px}.coverage-map-placeholder{padding:32px}.coverage-map-placeholder h3,.coverage-postcode h3{font:30px/1.2 var(--serif)}
.coverage-map-placeholder .underlink{display:block;margin-top:18px}.coverage-map-panel iframe{width:100%;height:460px;display:block;border:0}
.coverage-postcode{padding:28px;background:var(--navy);color:white}.coverage-postcode .field-hint{color:#e0e5e8}.coverage-postcode input{background:white;color:var(--ink)}
.coverage-town-search{margin-top:32px}.coverage-town-search>.field{max-width:540px}.coverage-towns{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.coverage-towns li{padding:12px 14px;background:var(--soft);font-size:15px}
.coverage-section [hidden]{display:none!important}.category-phone-hours{font-size:12px!important;line-height:1.5!important;margin:12px 0!important}
.real-work-copy .underlink{display:block;margin-top:12px}.real-work-grid:has(>.real-work-card:only-child){grid-template-columns:1fr}.real-work-card:only-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.real-work-card:only-child .real-work-copy{padding:28px}.real-work-card:only-child img{aspect-ratio:1.6;object-fit:cover}
.curtain-project-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.curtain-project-steps article{padding:24px;background:white;border:1px solid var(--line)}.curtain-project-steps h3{font:26px/1.2 var(--serif)}
.material-table{width:100%;border-collapse:collapse;margin:24px 0}.material-table th,.material-table td{text-align:left;vertical-align:top;padding:16px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.6}.material-table th{background:var(--soft)}.material-table caption{text-align:left;font:26px/1.3 var(--serif);margin-bottom:16px}
@media(max-width:760px){.coverage-layout{grid-template-columns:1fr}.coverage-map-placeholder,.coverage-postcode{padding:22px}.coverage-map-panel{min-height:0}.coverage-map-panel iframe{height:360px}.coverage-towns{grid-template-columns:repeat(2,minmax(0,1fr))}.curtain-project-steps{grid-template-columns:1fr}.material-table th,.material-table td{padding:10px;font-size:13px}.material-table{table-layout:fixed}.real-work-card:only-child{display:block}.real-work-card:only-child .real-work-copy{padding:20px}}
.specialist-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}
.specialist-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;padding:20px;border:1px solid var(--line);background:#fff;text-decoration:none;font-size:17px;line-height:1.4}
.specialist-links a:hover{border-color:var(--gold-dark)}
.specialist-proof{display:flex;align-items:center;justify-content:space-between;gap:32px}
.specialist-proof>div{max-width:760px}.specialist-proof .button{flex:none}
.page-visit textarea{resize:vertical;min-height:100px}
@media(max-width:760px){.specialist-links{grid-template-columns:1fr}.specialist-links a{min-height:60px;padding:16px}.specialist-proof{display:block}.specialist-proof .button{margin-top:12px}.subhero .subhero-copy h1{font-size:clamp(34px,8.5vw,48px);overflow-wrap:break-word}}
.hero-trust{display:block;width:fit-content;margin-top:18px;color:inherit;font-size:13px;line-height:1.55;text-decoration:underline;text-underline-offset:4px}
.hero-trust small{display:block;font-size:10px;opacity:.8;text-decoration:none}
.review-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:22px}
.review-heading .heading{margin:10px 0 0;font-size:clamp(30px,3.2vw,44px)}
.review-rating{flex:none;color:var(--ink);text-decoration:none;border-left:2px solid var(--gold-dark);padding-left:20px}
.review-rating strong{display:block;font-size:17px;margin-bottom:6px}
.review-rating span{display:block;font-size:12px;color:var(--muted)}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:22px}
.customer-review .review-grid blockquote{margin:0;padding:24px;background:#ffffffa6;border:1px solid #e4d3c6}
.customer-review .review-grid blockquote p{font:400 24px/1.3 var(--serif);margin:0 0 16px}
.customer-review .review-grid footer{font-size:12px;line-height:1.5;color:var(--muted)}
.form-review-link{display:block;font-size:13px;color:var(--ink);line-height:1.6;margin:18px 0 5px;text-underline-offset:3px}
.privacy-note{font-size:12px;line-height:1.6;color:var(--muted)}
.site-nav a,.utility-nav a,.underlink,.shortlist-add,.work-lightbox-controls button{touch-action:manipulation}
.work-lightbox-frame>img{touch-action:pan-y pinch-zoom}
.work-lightbox-controls button{min-height:44px}
.hero-media img,.subhero .hero-media img{max-height:600px;object-fit:cover}
@media(max-width:760px){.review-heading{display:block}.review-rating{display:block;margin-top:22px;padding-left:14px}.review-grid{grid-template-columns:1fr;gap:12px}.customer-review .review-grid blockquote{padding:19px}.customer-review .review-grid blockquote p{font-size:24px;margin-bottom:12px}.hero-media img,.subhero .hero-media img{aspect-ratio:1.45;max-height:340px;min-height:0}.hero-trust{margin-top:14px}.real-work-card img{aspect-ratio:1.35;object-fit:cover}.section{padding-top:34px;padding-bottom:34px}.work-lightbox-controls{gap:6px}.work-lightbox-controls button{font-size:13px;padding:10px 12px}.form-panel input,.form-panel textarea{font-size:16px}.form-layout{gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.work-discussion{margin-top:20px;padding:16px 20px;background:var(--soft);border-left:3px solid var(--gold);max-width:720px}.work-discussion strong{font-size:14px}.work-discussion p{margin:7px 0 0!important;font-size:15px}
