/* My Renovation Masters — 3-step free visit request (.mrmq). Self-contained: survives any parent page styles. */
.mrmq:not(#mq1):not(#mq2){--q-ink:#11110f;--q-text:#2b2925;--q-muted:#76716a;--q-line:rgba(17,17,15,.12);--q-soft:#f6f3ec;--q-gold:#b8953d;--q-gold-ink:#7d5f17;--q-gold-soft:#f3ead3;--q-bad:#b42318;
 position:relative;width:100%;max-width:620px;margin:0 auto;padding:30px;box-sizing:border-box;background:#fffdf9;color:var(--q-text);border:1px solid var(--q-line);border-radius:24px;box-shadow:0 30px 70px -40px rgba(17,17,15,.45),0 2px 6px rgba(17,17,15,.05);
 font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.5;text-align:left;letter-spacing:0;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;container:mrmq/inline-size}
.mrmq:not(#mq1):not(#mq2) *,.mrmq:not(#mq1):not(#mq2) *::before,.mrmq:not(#mq1):not(#mq2) *::after{box-sizing:border-box}
.mrmq:not(#mq1):not(#mq2) [hidden]{display:none!important}
.mrmq:not(#mq1):not(#mq2) .mrmq__form{display:block;margin:0;padding:0;background:none;border:0;box-shadow:none;width:auto;max-width:none;gap:0}
.mrmq:not(#mq1):not(#mq2) .mrmq__hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.mrmq:not(#mq1):not(#mq2) fieldset{margin:0;padding:0;border:0;min-width:0}
.mrmq:not(#mq1):not(#mq2) legend{padding:0;float:none;width:100%}

/* Head */
.mrmq:not(#mq1):not(#mq2) .mrmq__badge{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;padding:6px 12px;border-radius:99px;background:var(--q-gold-soft);color:var(--q-gold-ink);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1}
.mrmq:not(#mq1):not(#mq2) .mrmq__dot{width:7px;height:7px;border-radius:50%;background:#2f9e5b;box-shadow:0 0 0 3px rgba(47,158,91,.18)}
.mrmq:not(#mq1):not(#mq2) .mrmq__title{margin:0 0 6px;padding:0;color:var(--q-ink);font-family:inherit;font-size:clamp(22px,2.4vw,28px);font-weight:700;line-height:1.18;letter-spacing:-.02em;text-transform:none;text-wrap:balance}
.mrmq:not(#mq1):not(#mq2) .mrmq__intro{margin:0 0 18px;color:var(--q-muted);font-size:15px;line-height:1.55}
.mrmq:not(#mq1):not(#mq2) .mrmq__intro b{color:var(--q-ink)}
.mrmq:not(#mq1):not(#mq2) .mrmq__progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 8px}
.mrmq:not(#mq1):not(#mq2) .mrmq__progress i{display:block;height:4px;border-radius:9px;background:rgba(17,17,15,.09);transition:background .3s}
.mrmq:not(#mq1):not(#mq2) .mrmq__count{margin:0 0 20px;color:var(--q-muted);font-size:12px;font-weight:600;letter-spacing:.04em}
.mrmq:not(#mq1):not(#mq2) .mrmq__count b{color:var(--q-ink)}
.mrmq:not(#mq1):not(#mq2) .mrmq__q{display:block;margin:0 0 14px;color:var(--q-ink);font-size:18px;font-weight:700;line-height:1.3}

/* Hide native radios everywhere, keep them accessible */
.mrmq.mrmq:not(#mq1):not(#mq2) input[type=radio]{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;border:0!important;pointer-events:none!important;appearance:none;-webkit-appearance:none}

/* Step 1 room cards */
.mrmq:not(#mq1):not(#mq2) .mrmq__rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mrmq:not(#mq1):not(#mq2) .mrmq__room{position:relative;display:block;margin:0;padding:0;cursor:pointer;touch-action:manipulation}
.mrmq:not(#mq1):not(#mq2) .mrmq__room-in{display:flex;flex-direction:column;align-items:flex-start;gap:4px;height:100%;min-height:142px;padding:18px 16px;border:1.5px solid var(--q-line);border-radius:18px;background:#fff;transition:border-color .2s,background .2s,transform .15s,box-shadow .2s}
.mrmq:not(#mq1):not(#mq2) .mrmq__room svg{width:40px;height:40px;margin:0 0 10px;fill:none;stroke:var(--q-ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mrmq:not(#mq1):not(#mq2) .mrmq__room b{color:var(--q-ink);font-size:16px;font-weight:700;line-height:1.2}
.mrmq:not(#mq1):not(#mq2) .mrmq__room small{color:var(--q-muted);font-size:12.5px;line-height:1.35}
.mrmq:not(#mq1):not(#mq2) .mrmq__room:hover .mrmq__room-in{border-color:rgba(184,149,61,.6)}
.mrmq:not(#mq1):not(#mq2) .mrmq__room:active .mrmq__room-in{transform:scale(.98)}
.mrmq:not(#mq1):not(#mq2) .mrmq__room input:checked+.mrmq__room-in{border-color:var(--q-gold);background:var(--q-gold-soft);box-shadow:0 0 0 3px rgba(184,149,61,.18)}
.mrmq:not(#mq1):not(#mq2) .mrmq__room input:checked+.mrmq__room-in svg{stroke:var(--q-gold-ink)}
.mrmq:not(#mq1):not(#mq2) .mrmq__room input:focus-visible+.mrmq__room-in{outline:2px solid var(--q-ink);outline-offset:2px}

/* Fields */
.mrmq:not(#mq1):not(#mq2) .mrmq__chosen{display:inline-flex;align-items:center;margin:-4px 0 16px;padding:7px 12px;border:0;border-radius:99px;background:var(--q-soft);color:var(--q-ink);font:600 13px/1 inherit;font-family:inherit;cursor:pointer;min-height:0;width:auto;text-transform:none;letter-spacing:0;box-shadow:none}
.mrmq:not(#mq1):not(#mq2) .mrmq__chosen span{font-weight:700}
.mrmq:not(#mq1):not(#mq2) .mrmq__field{margin:0 0 18px}
.mrmq:not(#mq1):not(#mq2) .mrmq__field>label,.mrmq:not(#mq1):not(#mq2) .mrmq__label{display:block;margin:0 0 8px;color:var(--q-ink);font-size:13px;font-weight:700;letter-spacing:.01em;text-transform:none}
.mrmq:not(#mq1):not(#mq2) .mrmq__field input[type=text],.mrmq:not(#mq1):not(#mq2) .mrmq__field input[type=tel],.mrmq:not(#mq1):not(#mq2) .mrmq__field input[type=email]{display:block;width:100%;height:56px;margin:0;padding:0 16px;border:1.5px solid var(--q-line);border-radius:14px;background:#fff;color:var(--q-ink);font-family:inherit;font-size:17px;font-weight:600;line-height:normal;letter-spacing:.01em;box-shadow:none;outline:0;appearance:none;-webkit-appearance:none;transition:border-color .2s,box-shadow .2s}
.mrmq:not(#mq1):not(#mq2) .mrmq__field input[name=postcode]{text-transform:uppercase;letter-spacing:.06em;max-width:260px}
.mrmq:not(#mq1):not(#mq2) .mrmq__field input::placeholder{color:#aaa49b;font-weight:500;text-transform:none;letter-spacing:0}
.mrmq:not(#mq1):not(#mq2) .mrmq__field input:focus{border-color:var(--q-gold);box-shadow:0 0 0 4px rgba(184,149,61,.16)}
.mrmq:not(#mq1):not(#mq2) .mrmq__field input[aria-invalid=true]{border-color:var(--q-bad)}

/* Chips */
.mrmq:not(#mq1):not(#mq2) .mrmq__days,.mrmq:not(#mq1):not(#mq2) .mrmq__slots{display:flex;gap:8px;margin:0}
.mrmq:not(#mq1):not(#mq2) .mrmq__days{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:2px 2px 8px;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.mrmq:not(#mq1):not(#mq2) .mrmq__days::-webkit-scrollbar{display:none}
.mrmq:not(#mq1):not(#mq2) .mrmq__slots{flex-wrap:wrap}
.mrmq:not(#mq1):not(#mq2) .mrmq__chip{position:relative;display:block;flex:0 0 auto;margin:0;padding:0;cursor:pointer;scroll-snap-align:start;touch-action:manipulation}
.mrmq:not(#mq1):not(#mq2) .mrmq__chip>span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1.5px solid var(--q-line);border-radius:12px;background:#fff;color:var(--q-ink);font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;transition:border-color .2s,background .2s,color .2s}
.mrmq:not(#mq1):not(#mq2) .mrmq__chip--day>span{flex-direction:column;width:62px;min-height:62px;padding:8px 4px;gap:3px}
.mrmq:not(#mq1):not(#mq2) .mrmq__chip--day b{font-size:14px;font-weight:700}
.mrmq:not(#mq1):not(#mq2) .mrmq__chip--day small{color:var(--q-muted);font-size:11.5px;font-weight:600}
.mrmq:not(#mq1):not(#mq2) .mrmq__chip input:checked+span{border-color:var(--q-ink);background:var(--q-ink);color:#fff}
.mrmq:not(#mq1):not(#mq2) .mrmq__chip input:checked+span small{color:#e0cc8c}
.mrmq:not(#mq1):not(#mq2) .mrmq__chip input:focus-visible+span{outline:2px solid var(--q-gold);outline-offset:2px}

.mrmq:not(#mq1):not(#mq2) .mrmq__note{margin:2px 0 0;color:var(--q-muted);font-size:13px;line-height:1.55}
.mrmq:not(#mq1):not(#mq2) .mrmq__note a{color:var(--q-ink);text-decoration:underline;text-underline-offset:2px}
.mrmq:not(#mq1):not(#mq2) .mrmq__err--form{margin:16px 0 0}

/* Nav */
.mrmq:not(#mq1):not(#mq2) .mrmq__nav{display:flex;gap:10px;margin:24px 0 0}
.mrmq:not(#mq1):not(#mq2) .mrmq__back,.mrmq:not(#mq1):not(#mq2) .mrmq__next{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;margin:0;border-radius:99px;font-family:inherit;font-size:16px;font-weight:700;line-height:1;letter-spacing:0;text-transform:none;cursor:pointer;touch-action:manipulation;box-shadow:none;transition:transform .15s,background .2s,opacity .2s}
.mrmq:not(#mq1):not(#mq2) .mrmq__back{flex:0 0 56px;width:56px;padding:0;border:1.5px solid var(--q-line);background:#fff;color:var(--q-ink)}
.mrmq:not(#mq1):not(#mq2) .mrmq__next{flex:1 1 auto;padding:0 26px;border:0;background:var(--q-ink);color:#fff}
.mrmq:not(#mq1):not(#mq2) .mrmq__next:hover{background:#2a2924}
.mrmq:not(#mq1):not(#mq2) .mrmq__back:active,.mrmq:not(#mq1):not(#mq2) .mrmq__next:active{transform:scale(.98)}
.mrmq:not(#mq1):not(#mq2) .mrmq__next[disabled]{opacity:.65;cursor:progress}
.mrmq:not(#mq1):not(#mq2) .mrmq__back svg,.mrmq:not(#mq1):not(#mq2) .mrmq__next svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.mrmq:not(#mq1):not(#mq2)[data-step="2"] .mrmq__next{background:var(--q-gold);color:var(--q-ink)}
.mrmq:not(#mq1):not(#mq2)[data-step="2"] .mrmq__next:hover{background:#c9a650}

/* Done */
.mrmq:not(#mq1):not(#mq2) .mrmq__done{text-align:left;outline:0}
.mrmq:not(#mq1):not(#mq2) .mrmq__tick{display:grid;place-items:center;width:56px;height:56px;margin:0 0 16px;border-radius:50%;background:#e8f5ec;animation:mrmq-pop .45s cubic-bezier(.2,1.4,.4,1) both}
.mrmq:not(#mq1):not(#mq2) .mrmq__tick svg{width:28px;height:28px;fill:none;stroke:#1e7b45;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.mrmq:not(#mq1):not(#mq2) .mrmq__summary{margin:18px 0 14px;padding:4px 16px;border-radius:16px;background:var(--q-soft)}
.mrmq:not(#mq1):not(#mq2) .mrmq__summary div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(17,17,15,.08)}
.mrmq:not(#mq1):not(#mq2) .mrmq__summary div:last-child{border:0}
.mrmq:not(#mq1):not(#mq2) .mrmq__summary dt{margin:0;color:var(--q-muted);font-size:13px}
.mrmq:not(#mq1):not(#mq2) .mrmq__summary dd{margin:0;color:var(--q-ink);font-size:14px;font-weight:700;text-align:right}
.mrmq:not(#mq1):not(#mq2) .mrmq__call{display:inline-flex;align-items:center;min-height:48px;margin-top:10px;color:var(--q-ink);font-weight:700;font-size:15px;text-decoration:underline;text-underline-offset:3px}
@keyframes mrmq-pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}

.mrmq:not(#mq1):not(#mq2) .mrmq__step{animation:mrmq-in .28s ease both}
@keyframes mrmq-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mrmq:not(#mq1):not(#mq2) .mrmq__step,.mrmq:not(#mq1):not(#mq2) .mrmq__tick{animation:none}}

@media (max-width:560px){.mrmq:not(#mq1):not(#mq2){padding:22px 18px;border-radius:20px}}
@container mrmq (max-width:500px){
 .mrmq:not(#mq1):not(#mq2) .mrmq__rooms{grid-template-columns:1fr;gap:8px}
 .mrmq:not(#mq1):not(#mq2) .mrmq__room-in{display:grid;grid-template-columns:34px 1fr;align-items:center;min-height:0;padding:14px 16px;gap:2px 14px}
 .mrmq:not(#mq1):not(#mq2) .mrmq__room svg{grid-row:1/3;width:34px;height:34px;margin:0}
 .mrmq:not(#mq1):not(#mq2) .mrmq__field input[name=postcode]{max-width:none}
 .mrmq:not(#mq1):not(#mq2) .mrmq__days{margin:0 -18px;padding:2px 18px 8px;scroll-padding-left:18px}
 .mrmq:not(#mq1):not(#mq2) .mrmq__title{font-size:22px}
}

/* Page-level wrapper used where a whole section is replaced. */
.mrmq-section{padding:clamp(56px,8vw,110px) 0;background:#f4f1ea}
.mrmq-section__inner{width:min(1180px,calc(100% - 36px));margin:0 auto;display:grid;grid-template-columns:1fr minmax(0,560px);gap:clamp(28px,5vw,72px);align-items:start}
.mrmq-section__copy h2{margin:0 0 16px;color:#11110f;font-family:"Montserrat",Arial,sans-serif;font-size:clamp(30px,4vw,52px);font-weight:700;line-height:1.05;letter-spacing:-.04em}
.mrmq-section__copy p{margin:0 0 22px;color:#5d5850;font-size:17px;line-height:1.7}
.mrmq-steps{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.mrmq-steps li{display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start;color:#5d5850;font-size:15px;line-height:1.5}
.mrmq-steps b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#11110f;color:#e0cc8c;font-size:13px}
.mrmq-steps strong{display:block;color:#11110f}
@media (max-width:900px){.mrmq-section__inner{grid-template-columns:1fr}}

/* Clear guidance: what is missing, where, and a button that says it. */
.mrmq:not(#mq1):not(#mq2) .mrmq__err{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#fdecea;color:#9b1c13;font-size:14px;font-weight:600;line-height:1.4}
.mrmq:not(#mq1):not(#mq2) .mrmq__err::before{content:"!";flex:0 0 20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#b42318;color:#fff;font-size:13px;font-weight:800;line-height:1}
.mrmq:not(#mq1):not(#mq2) .mrmq__err:empty{display:none}
.mrmq:not(#mq1):not(#mq2) .mrmq__field.is-error>label,.mrmq:not(#mq1):not(#mq2) .mrmq__field.is-error>.mrmq__label{color:#b42318}
.mrmq:not(#mq1):not(#mq2) .mrmq__field.is-error input{border-color:#b42318;box-shadow:0 0 0 4px rgba(180,35,24,.12);animation:mrmq-shake .35s}
.mrmq:not(#mq1):not(#mq2) .mrmq__rooms.is-error .mrmq__room-in{border-color:#e7a9a3;animation:mrmq-shake .35s}
.mrmq:not(#mq1):not(#mq2) .mrmq__field{position:relative}
.mrmq:not(#mq1):not(#mq2) .mrmq__field.is-valid input{border-color:#2f9e5b;padding-right:46px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f9e5b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat right 15px center/20px}
.mrmq:not(#mq1):not(#mq2) .mrmq__next.is-waiting,.mrmq:not(#mq1):not(#mq2)[data-step="2"] .mrmq__next.is-waiting{background:#ebe6dc;color:#5d5850}
.mrmq:not(#mq1):not(#mq2) .mrmq__next.is-waiting svg{display:none}
.mrmq:not(#mq1):not(#mq2) .mrmq__next.is-shake{animation:mrmq-shake .35s}
@keyframes mrmq-shake{0%,100%{transform:none}25%{transform:translateX(-6px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}

/* Named steps under the progress bar */
.mrmq:not(#mq1):not(#mq2) .mrmq__progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 10px;padding:0;list-style:none}
.mrmq:not(#mq1):not(#mq2) .mrmq__progress li{margin:0;padding:0;list-style:none}
.mrmq:not(#mq1):not(#mq2) .mrmq__progress li::marker{content:none}
.mrmq:not(#mq1):not(#mq2) .mrmq__progress i{display:block;height:4px;margin:0 0 6px;border-radius:9px;background:rgba(17,17,15,.09)}
.mrmq:not(#mq1):not(#mq2) .mrmq__progress span{display:block;color:#a39d93;font-size:12px;font-weight:600;line-height:1.25}
.mrmq:not(#mq1):not(#mq2)[data-step="0"] .mrmq__progress li:nth-child(1) span,.mrmq:not(#mq1):not(#mq2)[data-step="1"] .mrmq__progress li:nth-child(2) span,.mrmq:not(#mq1):not(#mq2)[data-step="2"] .mrmq__progress li:nth-child(3) span{color:var(--q-ink);font-weight:700}
.mrmq:not(#mq1):not(#mq2)[data-step="1"] .mrmq__progress li:nth-child(1) span::before,.mrmq:not(#mq1):not(#mq2)[data-step="2"] .mrmq__progress li:nth-child(-n+2) span::before{content:"✓ ";color:var(--q-gold-ink)}
.mrmq:not(#mq1):not(#mq2)[data-step="0"] .mrmq__progress li:nth-child(-n+1) i,.mrmq:not(#mq1):not(#mq2)[data-step="1"] .mrmq__progress li:nth-child(-n+2) i,.mrmq:not(#mq1):not(#mq2)[data-step="2"] .mrmq__progress li i{background:var(--q-gold)}
.mrmq:not(#mq1):not(#mq2) .mrmq__count{margin:0 0 18px}
/* Chosen card gets a tick before the form moves on */
.mrmq:not(#mq1):not(#mq2) .mrmq__room-in{position:relative}
.mrmq:not(#mq1):not(#mq2) .mrmq__room.is-picked .mrmq__room-in::after{content:"";position:absolute;top:12px;right:12px;width:26px;height:26px;border-radius:50%;background:var(--q-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2311110f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center/15px;animation:mrmq-pop .35s cubic-bezier(.2,1.4,.4,1) both}
.mrmq:not(#mq1):not(#mq2) .mrmq__chosen{gap:8px;padding:9px 14px;background:var(--q-gold-soft);color:var(--q-ink)}
.mrmq:not(#mq1):not(#mq2) .mrmq__chosen svg{width:16px;height:16px;fill:none;stroke:var(--q-gold-ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.mrmq:not(#mq1):not(#mq2) .mrmq__chosen u{margin-left:6px;color:var(--q-gold-ink);font-weight:600;text-underline-offset:3px}
