:root{--ink:#171b1d;--graphite:#454545;--paper:#f1f2ef;--white:#fefefe;--burgundy:#7f1d36;--burgundy-dark:#64162b;--rule:#c8cbc7;--line:#c8cbc7;--muted:#606661;--max:72rem;--pmr-surface-dark:#171b1d;--pmr-surface-paper:#f1f2ef;--pmr-logo-white:#fefefe;--pmr-burgundy:#7f1d36;--pmr-burgundy-dark:#64162b;--pmr-content-max:72rem}
body.pmr-approved{margin:0;font-family:Montserrat,Arial,sans-serif;background:var(--paper);color:var(--ink)}
body.pmr-approved .site-frame{max-width:none;margin:0}
body.pmr-approved main{min-height:65vh}
body.pmr-approved a:focus-visible,body.pmr-approved button:focus-visible{outline:3px solid #7f1d36;outline-offset:4px}
.route-home .trust-items{grid-template-columns:repeat(3,1fr)}
.route-home .project-media{display:block}
.route-home .project-media img{width:100%;height:100%;object-fit:cover}
.route-home .profile-card a{color:inherit;text-decoration:none}
.pmr-approved .skip-link{position:fixed;z-index:1000;left:16px;top:-100px;padding:12px 16px;background:var(--white);color:var(--ink)}
.pmr-approved .skip-link:focus{top:16px}
.route-home .project-media img{height:auto;object-fit:contain}
.route-home .estimate-panel>#contact-form,.route-faq .estimate-panel>#contact-form{grid-column:6/13;min-width:0}
.route-home #contact-form .estimate-form{padding:2rem;border:1px solid var(--rule);background:var(--paper)}
.pmr-approved #contact-form .estimate-form{border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.2rem}
.pmr-approved #contact-form .field{min-width:0;grid-column:span 1}
.pmr-approved #contact-form .field.wide{grid-column:1/-1}
.pmr-approved #contact-form .field p{margin:0}
.pmr-approved #contact-form label{display:grid;gap:.5rem;line-height:1.35}
.pmr-approved #contact-form input,.pmr-approved #contact-form select,.pmr-approved #contact-form textarea{display:block;width:100%;min-height:50px;padding:.8rem .9rem;border:1px solid #858b87;background:var(--white);font:inherit;font-size:1rem;border-radius:0}
.pmr-approved #contact-form textarea{height:128px;min-height:128px;resize:vertical}
.pmr-approved #contact-form :is(input:not([type=checkbox]):not([type=submit]),textarea,select):focus{outline:0;box-shadow:none;border-color:var(--burgundy)}
.pmr-approved #contact-form .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:12px;text-transform:none;font-weight:500;letter-spacing:0;font-size:.82rem;line-height:1.5}
.pmr-approved #contact-form input[type=checkbox]{width:20px;height:20px;min-height:20px;padding:0;flex:0 0 20px}
.pmr-approved #contact-form .wpcf7-list-item{margin:0}
.pmr-approved #contact-form input[type=submit]{min-height:50px;width:auto;background:var(--burgundy);color:var(--white);border:0;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.pmr-approved #contact-form .submit-button{grid-column:1/-1}
.pmr-approved #contact-form .wpcf7-response-output{grid-column:1/-1;font-size:.9rem;line-height:1.5}
.pmr-approved .preview-stage{overflow:visible}
.pmr-approved .preview-stage img{display:block!important;width:100%;height:100%;max-height:none;object-fit:contain!important;object-position:center}
.pmr-approved .mini-swatch img,.pmr-approved .swatch-disc img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.pmr-approved .lightbox button{font-size:30px;color:var(--white)}
.pmr-approved .lightbox-close{font-size:36px}
.pmr-approved .not-found{padding:96px 0}
.pmr-approved .not-found h1{font-size:clamp(3rem,6vw,5rem);max-width:13ch;line-height:1;letter-spacing:-.05em}
.pmr-approved #contact-form{scroll-margin-top:24px}
.pmr-approved .pmr-form-status{padding:16px;border-left:4px solid var(--burgundy)}
.pmr-approved .pmr-form-status:empty{display:none}
.pmr-approved .pmr-form-status[role=alert]{background:#fff4f4}
.pmr-approved .pmr-form-status[role=status]{background:#e9f2eb}

@media(max-width:760px){.route-home .trust-items{grid-template-columns:1fr}
.pmr-approved .preview-stage{width:100%;min-height:230px;max-height:none;aspect-ratio:3/2}
.pmr-approved .preview-stage img{height:100%;width:100%;object-fit:contain!important}
.pmr-approved .colour-preview{min-width:0}
.pmr-approved .lightbox{width:100vw;max-width:100vw}
.pmr-approved .lightbox button{font-size:28px}
}
@media(max-width:760px){.pmr-approved #contact-form .estimate-form{grid-template-columns:1fr;padding:1.25rem}
.pmr-approved #contact-form .field{grid-column:auto}
.pmr-approved #contact-form input[type=submit]{width:100%}
}.route-contact .form-grid>#contact-form{grid-column:6/13;min-width:0}
.pmr-approved .preview-unavailable{margin:auto;padding:24px;text-align:center;color:var(--muted);font-size:1rem;line-height:1.5}

@media(max-width:760px){.route-contact .form-grid>#contact-form,.route-faq .estimate-panel>#contact-form,.route-home .estimate-panel>#contact-form{grid-column:1/-1;min-width:0}
.pmr-approved #contact-form .estimate-form{grid-column:auto}
.pmr-approved #contact-form .field.wide{grid-column:1/-1}
}
@media(max-width:720px){.pmr-approved .preview-stage{height:118px;min-height:118px;aspect-ratio:auto}
}

/* Shared mobile contact header; sticky media controls sit below it. */
@media(max-width:1120px){body.pmr-approved .colour-preview,body.pmr-approved .family-filters{top:74px}
body.pmr-approved #contact-form{scroll-margin-top:90px}
html{scroll-padding-top:90px}
}.pmr-approved .legal-page{padding:64px 0;max-width:760px}
.pmr-approved .legal-page h1{font-size:clamp(2.4rem,6vw,4rem);line-height:1.1;letter-spacing:-.04em;margin:0 0 24px}
.pmr-approved .legal-page h2{font-size:1.3rem;line-height:1.3;margin:32px 0 12px}
.pmr-approved .legal-page p{font-size:1rem;line-height:1.75;margin:12px 0}

@media(max-width:720px){.pmr-approved .legal-page{padding:40px 0}
}
/* Contact copy must not force a grid column wider than a narrow handset. */
@media(max-width:720px){.route-contact .hero-copy,.route-contact .contact-card{min-width:0;max-width:100%;overflow-wrap:anywhere}
.route-contact .hero-copy h1{max-width:100%;overflow-wrap:anywhere}
}.pmr-approved .shell.legal-page{box-sizing:border-box;width:min(720px,calc(100% - 2.4rem));margin-inline:auto;padding-block:clamp(40px,5vw,64px)}
.pmr-approved .legal-page h1{font-size:clamp(2rem,4.5vw,3rem);line-height:1.12;letter-spacing:-.035em;overflow-wrap:break-word}
.pmr-approved .legal-page h2{font-size:1.25rem;line-height:1.35;letter-spacing:normal;margin:32px 0 12px}
.pmr-approved .legal-page p{font-size:1rem;line-height:1.7}
.pmr-approved .legal-page .eyebrow{font-size:.75rem;line-height:1.5;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--burgundy);margin:0 0 16px}
.pmr-approved .legal-page a{color:var(--burgundy);text-underline-offset:3px}


/* Keep the call action beside the menu when desktop navigation collapses. */
@media(max-width:1280px){body.pmr-approved .header .phone-link{margin-inline-start:auto;flex-shrink:0}}

/* Profile introduction: align short copy with the visual and expose continuation. */
@media(min-width:901px){body.pmr-approved.single-pmr_profile .detail-hero-grid{align-items:start}}
@media(min-width:901px) and (max-height:800px){body.pmr-approved.single-pmr_profile .detail-visual,body.pmr-approved.single-pmr_profile .detail-visual img{height:380px;object-fit:contain}body.pmr-approved.single-pmr_profile .detail-hero{padding-bottom:48px}body.pmr-approved.single-pmr_profile .colours-section{padding-top:48px}}
