:root {
  --mrr-ink: #16181d;
  --mrr-ink-dark: #0d1117;
  --mrr-copper: #0f766e;
  --mrr-copper-dark: #0b5e58;
  --mrr-sand: #e8f1f1;
  --mrr-cream: #ffffff;
  --mrr-sky: #d5eeea;
  --mrr-line: #9aa8ad;
  --mrr-muted: #334155;
  --mrr-white: #ffffff;
  --mrr-success: #15803d;
  --mrr-shadow: 0 24px 70px rgba(13, 17, 23, .18);
  --mrr-radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.mrr-demo-page { margin: 0; color: var(--mrr-ink); background: var(--mrr-cream); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; overflow-x: hidden; }
body.mrr-demo-page img { max-width: 100%; height: auto; }
body.mrr-demo-page a { color: inherit; }
body.mrr-demo-page button, body.mrr-demo-page input, body.mrr-demo-page select, body.mrr-demo-page textarea { font: inherit; }
body.mrr-demo-page h1, body.mrr-demo-page h2, body.mrr-demo-page h3, body.mrr-demo-page p { margin-top: 0; }
body.mrr-demo-page h1, body.mrr-demo-page h2, body.mrr-demo-page h3 { line-height: 1.08; letter-spacing: -.035em; }
body.mrr-demo-page h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.1rem, 7vw, 6.7rem); font-weight: 500; }
body.mrr-demo-page h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.25rem, 4.5vw, 4.2rem); font-weight: 500; }
body.mrr-demo-page h3 { font-size: 1.28rem; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.mrr-skip-link { position: fixed; top: 8px; left: 8px; z-index: 99999; transform: translateY(-150%); padding: 10px 16px; background: #fff; color: #111; border-radius: 8px; }
.mrr-skip-link:focus { transform: none; }
.mrr-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.mrr-eyebrow, .mrr-kicker { margin-bottom: 14px; color: var(--mrr-copper-dark); font-size: .78rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.mrr-lead { max-width: 720px; font-size: clamp(1.15rem, 2.1vw, 1.42rem); color: #22313a; }

.mrr-demo-ribbon { background: var(--mrr-ink-dark); color: #ffffff; font-size: .79rem; }
.mrr-demo-ribbon .mrr-shell { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 38px; }
.mrr-demo-ribbon a { color: #a7f3d0; text-decoration: none; font-weight: 700; white-space: nowrap; }

.mrr-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(21,35,31,.18); backdrop-filter: blur(14px); }
.mrr-header__inner { min-height: 86px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 30px; }
.mrr-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.mrr-brand__mark { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: var(--mrr-copper); color: #fff; box-shadow: 0 12px 24px rgba(200,121,61,.24); }
.mrr-brand__mark svg { width: 34px; fill: currentColor; }
.mrr-brand__text { display: flex; flex-direction: column; line-height: 1.02; }
.mrr-brand__text strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.28rem; letter-spacing: -.02em; }
.mrr-brand__text small { margin-top: 5px; color: var(--mrr-muted); font-size: .67rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.mrr-nav { display: flex; align-items: center; justify-content: center; gap: 4px; }
.mrr-nav a { padding: 10px 12px; color: #263a34; text-decoration: none; font-size: .9rem; font-weight: 700; border-radius: 999px; }
.mrr-nav a:hover, .mrr-nav a[aria-current="page"] { background: var(--mrr-sand); color: var(--mrr-ink-dark); }
.mrr-header-call { display: flex; flex-direction: column; color: inherit; text-decoration: none; text-align: right; line-height: 1.25; }
.mrr-header-call span { color: var(--mrr-muted); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mrr-header-call strong { color: #0f766e; font-size: 1.04rem; }
.mrr-menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; background: transparent; border: 0; }
.mrr-menu-toggle > span:not(.screen-reader-text) { display: block; height: 2px; margin: 5px 0; background: var(--mrr-ink); }

.mrr-hero { position: relative; min-height: 710px; display: grid; align-items: center; padding: 88px 0 78px; overflow: hidden; background: radial-gradient(circle at 80% 20%, rgba(15,118,110,.12), transparent 32%), linear-gradient(135deg, #ffffff 0%, #f4fbfb 58%, #e3f3f1 100%); }
.mrr-hero:before { content: ""; position: absolute; inset: auto -10% -240px 30%; height: 440px; border-radius: 50%; background: rgba(255,255,255,.5); transform: rotate(-6deg); }
.mrr-hero__grid { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 70px; }
.mrr-hero__content h1 { max-width: 800px; margin-bottom: 24px; }
.mrr-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 32px 0 30px; }
.mrr-button { appearance: none; display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 52px; padding: 0 22px; border: 1px solid var(--mrr-copper); border-radius: 999px; background: var(--mrr-copper); color: #fff !important; text-decoration: none; font-weight: 800; cursor: pointer; box-shadow: 0 14px 28px rgba(15,118,110,.24); transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.mrr-button:hover { transform: translateY(-2px); background: var(--mrr-copper-dark); border-color: var(--mrr-copper-dark); }
.mrr-button--ghost { background: transparent; color: var(--mrr-ink) !important; border-color: rgba(15,23,42,.35); box-shadow: none; }
.mrr-button--ghost:hover { background: #fff; }
.mrr-button--light { background: #fff; color: var(--mrr-ink-dark) !important; border-color: #fff; }
.mrr-trust-list { display: flex; flex-wrap: wrap; gap: 12px 22px; padding: 0; margin: 0; list-style: none; color: var(--mrr-ink); font-size: .9rem; font-weight: 700; }
.mrr-trust-list li:before { content: "✓"; margin-right: 8px; color: var(--mrr-success); font-weight: 900; }
.mrr-hero__visual { position: relative; min-height: 520px; display: grid; align-items: end; justify-items: center; }
.mrr-roof-scene { position: absolute; inset: 0; overflow: hidden; border-radius: 44px 44px 100px 44px; background: linear-gradient(#bcd4df 0 52%, #c9b592 52%); box-shadow: var(--mrr-shadow); }
.mrr-sun { position: absolute; width: 96px; height: 96px; right: 52px; top: 48px; border-radius: 50%; background: #f5c16d; }
.mrr-mountain { position: absolute; bottom: 35%; width: 80%; height: 40%; background: #778c91; clip-path: polygon(0 100%, 34% 18%, 53% 65%, 68% 38%, 100% 100%); }
.mrr-mountain--one { left: -12%; opacity: .7; }
.mrr-mountain--two { right: -25%; background: #586d72; opacity: .72; transform: scale(.9); }
.mrr-house { position: absolute; left: 50%; bottom: 0; width: 280px; height: 190px; transform: translateX(-50%); background: #d9c3a2; border-radius: 4px; box-shadow: inset 0 -20px 0 rgba(0,0,0,.05); }
.mrr-house:before { content: ""; position: absolute; left: -36px; top: -96px; width: 352px; height: 120px; background: #3c474d; clip-path: polygon(50% 0, 100% 78%, 91% 100%, 50% 38%, 9% 100%, 0 78%); }
.mrr-house:after { content: ""; position: absolute; left: 105px; bottom: 0; width: 70px; height: 110px; background: #735747; }
.mrr-house i { position: absolute; left: 42px; top: 58px; width: 56px; height: 48px; background: #8bb6c4; border: 7px solid #ece1cd; box-shadow: 140px 0 0 #8bb6c4, 140px 0 0 7px #ece1cd; }
.mrr-moona { position: relative; z-index: 3; width: min(78%, 390px); max-height: 500px; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 26px 26px rgba(23,33,40,.24)); mix-blend-mode: normal; }
.mrr-mascot-fallback { position: relative; z-index: 3; width: min(80%, 360px); min-height: 340px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px; border: 2px dashed rgba(255,255,255,.76); border-radius: 28px; background: rgba(255,255,255,.78); text-align: center; box-shadow: 0 24px 50px rgba(23,33,40,.16); }
.mrr-mascot-fallback svg { width: 150px; fill: var(--mrr-copper); }
.mrr-mascot-fallback strong { font-family: Georgia, serif; font-size: 1.7rem; }
.mrr-mascot-fallback span { margin-top: 8px; color: var(--mrr-muted); font-size: .82rem; }
.mrr-hero-note { position: absolute; z-index: 4; right: -22px; bottom: 34px; width: 225px; padding: 18px 20px; border-radius: 18px; background: #fff; box-shadow: 0 18px 45px rgba(23,33,40,.16); }
.mrr-hero-note strong, .mrr-hero-note span { display: block; }
.mrr-hero-note strong { color: var(--mrr-copper-dark); }
.mrr-hero-note span { margin-top: 4px; color: var(--mrr-muted); font-size: .82rem; }

.mrr-proofbar { background: #111827; color: #fff; }
.mrr-proofbar__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.mrr-proofbar__grid > div { min-height: 120px; display: flex; flex-direction: column; justify-content: center; padding: 24px; border-right: 1px solid rgba(255,255,255,.1); }
.mrr-proofbar__grid > div:first-child { border-left: 1px solid rgba(255,255,255,.1); }
.mrr-proofbar strong { font-family: Georgia, serif; font-size: 1.32rem; }
.mrr-proofbar span { margin-top: 6px; color: #d6e2de; font-size: .8rem; }

.mrr-section { padding: 108px 0; background: var(--mrr-cream); }
.mrr-section--ink { background: #111827; color: #f8fafc; }
.mrr-section--ink .mrr-eyebrow { color: #a7f3d0; }
.mrr-section--sand { background: var(--mrr-sand); }
.mrr-section-heading { max-width: 800px; margin-bottom: 48px; }
.mrr-section-heading h2 { margin-bottom: 16px; }
.mrr-section-heading > p:last-child { color: var(--mrr-muted); font-size: 1.05rem; }
.mrr-section-heading--split { max-width: none; display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: end; }
.mrr-card-grid { display: grid; gap: 22px; }
.mrr-card-grid--3 { grid-template-columns: repeat(3, 1fr); }
.mrr-service-card { min-height: 330px; display: flex; flex-direction: column; padding: 34px; border: 1px solid var(--mrr-line); border-radius: var(--mrr-radius); background: #fff; box-shadow: 0 14px 40px rgba(23,33,40,.06); }
.mrr-card-number { color: var(--mrr-copper); font-size: .82rem; font-weight: 900; letter-spacing: .15em; }
.mrr-service-card h3 { margin: auto 0 14px; font-family: Georgia, serif; font-size: 2rem; font-weight: 500; }
.mrr-service-card p { color: var(--mrr-muted); }
.mrr-service-card a { margin-top: 12px; color: var(--mrr-copper-dark); font-weight: 800; text-decoration: none; }

.mrr-process-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; }
.mrr-process-intro { position: sticky; top: 150px; align-self: start; }
.mrr-process-intro p { color: #d6e2de; }
.mrr-text-link--light { color: #ffd5c5; font-weight: 800; text-decoration: none; }
.mrr-process-list { padding: 0; margin: 0; list-style: none; }
.mrr-process-list li { display: grid; grid-template-columns: 58px 1fr; gap: 22px; padding: 28px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.mrr-process-list li > span { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #99f6e4; font-weight: 900; }
.mrr-process-list h3 { margin-bottom: 8px; font-family: Georgia, serif; font-size: 1.8rem; font-weight: 500; }
.mrr-process-list p { margin: 0; color: #d6e2de; }

.mrr-project-preview { display: grid; grid-template-columns: 1.2fr .8fr .8fr; min-height: 480px; gap: 18px; }
.mrr-project-tile { position: relative; display: flex; flex-direction: column; justify-content: end; padding: 28px; overflow: hidden; border-radius: var(--mrr-radius); color: #fff !important; text-decoration: none; box-shadow: var(--mrr-shadow); }
.mrr-project-tile:before, .mrr-project-art:before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(10,16,19,.82)); }
.mrr-project-tile:after, .mrr-project-art:after { content: ""; position: absolute; width: 115%; height: 48%; left: -8%; top: 24%; background: #35454d; clip-path: polygon(0 100%, 50% 0, 100% 100%); filter: drop-shadow(0 20px 20px rgba(0,0,0,.25)); }
.mrr-project-tile--shingle { background: linear-gradient(#91afba 0 55%, #b9a17f 55%); }
.mrr-project-tile--metal { background: linear-gradient(#c5d7dc 0 55%, #9e8a70 55%); }
.mrr-project-tile--metal:after { background: repeating-linear-gradient(90deg,#566970 0 18px,#405158 18px 21px); }
.mrr-project-tile--flat { background: linear-gradient(#9db8c1 0 58%, #c6b090 58%); }
.mrr-project-tile--flat:after { height: 22%; top: 50%; background: #4b555a; clip-path: polygon(0 18%, 100% 0, 100% 100%, 0 100%); }
.mrr-project-tile span, .mrr-project-tile strong { position: relative; z-index: 2; }
.mrr-project-tile span { color: #ccfbf1; font-size: .72rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.mrr-project-tile strong { margin-top: 8px; font-family: Georgia, serif; font-size: 1.6rem; }

.mrr-review-layout { display: grid; grid-template-columns: .9fr 1fr 1fr; gap: 24px; align-items: stretch; }
.mrr-review-layout blockquote { margin: 0; padding: 34px; border-radius: var(--mrr-radius); background: #fff; box-shadow: 0 15px 40px rgba(23,33,40,.08); }
.mrr-review-layout blockquote p { font-family: Georgia, serif; font-size: 1.35rem; line-height: 1.5; }
.mrr-review-layout blockquote footer { color: var(--mrr-muted); font-size: .78rem; font-weight: 800; }

.mrr-cta { padding: 70px 0; background: #0f766e; color: #fff; }
.mrr-cta__inner { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; }
.mrr-cta .mrr-eyebrow { color: #ffe0d5; }
.mrr-cta h2 { margin-bottom: 10px; }
.mrr-cta p:last-child { max-width: 760px; margin-bottom: 0; color: #fff7f3; }

.mrr-page-hero { position: relative; padding: 120px 0 100px; overflow: hidden; color: #fff; background: var(--mrr-ink-dark); }
.mrr-page-hero:before { content: ""; position: absolute; inset: 0; opacity: .55; background: radial-gradient(circle at 80% 20%, rgba(200,121,61,.9), transparent 32%), linear-gradient(135deg, transparent, rgba(120,158,170,.4)); }
.mrr-page-hero:after { content: ""; position: absolute; width: 52%; height: 55%; right: -5%; bottom: -30%; background: rgba(255,255,255,.06); clip-path: polygon(0 100%, 48% 0, 100% 100%); }
.mrr-page-hero .mrr-shell { position: relative; z-index: 1; }
.mrr-page-hero h1 { max-width: 980px; margin-bottom: 22px; font-size: clamp(3rem, 6vw, 6rem); }
.mrr-page-hero p:last-child { max-width: 760px; color: #e6efec; font-size: 1.18rem; }
.mrr-page-hero .mrr-eyebrow { color: #ffc0a8; }
.mrr-page-hero--storm { background: #293840; }
.mrr-page-hero--projects { background: #253037; }
.mrr-page-hero--contact { background: #334248; }

.mrr-service-detail { display: grid; grid-template-columns: 70px 1.2fr .68fr; gap: 34px; padding: 58px 0; border-bottom: 1px solid var(--mrr-line); }
.mrr-service-detail:first-child { padding-top: 0; }
.mrr-service-detail__icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; background: var(--mrr-copper); color: #fff; font-weight: 900; }
.mrr-service-detail h2 { margin-bottom: 18px; font-size: clamp(2.2rem, 3.6vw, 3.6rem); }
.mrr-service-detail > div > p:not(.mrr-kicker) { color: var(--mrr-muted); }
.mrr-service-detail aside { align-self: start; padding: 26px; border: 1px solid var(--mrr-line); border-radius: 20px; background: #fff; }
.mrr-service-detail aside h3 { font-family: Georgia, serif; font-size: 1.45rem; }
.mrr-service-detail aside p { margin-bottom: 0; color: var(--mrr-muted); font-size: .9rem; }
.mrr-check-list { padding: 0; margin: 22px 0 0; list-style: none; columns: 2; column-gap: 26px; }
.mrr-check-list li { position: relative; break-inside: avoid; margin-bottom: 10px; padding-left: 26px; }
.mrr-check-list li:before { content: "✓"; position: absolute; left: 0; color: var(--mrr-success); font-weight: 900; }
.mrr-faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; }
.mrr-faqs details { padding: 22px 0; border-bottom: 1px solid rgba(36,49,58,.16); }
.mrr-faqs summary { cursor: pointer; font-family: Georgia, serif; font-size: 1.35rem; font-weight: 700; }
.mrr-faqs details p { margin: 14px 0 0; color: var(--mrr-muted); }

.mrr-alert { background: #dff7f4; color: #0f3d3a; }
.mrr-alert .mrr-shell { display: grid; grid-template-columns: auto 1fr; gap: 18px; padding: 22px 0; }
.mrr-alert strong { white-space: nowrap; }
.mrr-storm-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; }
.mrr-step-cards { padding: 0; margin: 0; list-style: none; }
.mrr-step-cards li { display: grid; grid-template-columns: 52px 1fr; gap: 20px; padding: 25px; margin-bottom: 14px; border: 1px solid var(--mrr-line); border-radius: 20px; background: #fff; }
.mrr-step-cards li > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: var(--mrr-sand); color: var(--mrr-copper-dark); font-weight: 900; }
.mrr-step-cards h3 { margin-bottom: 8px; font-family: Georgia, serif; font-size: 1.45rem; }
.mrr-step-cards p { margin-bottom: 0; color: var(--mrr-muted); }
.mrr-damage-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 80px; }
.mrr-damage-list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.mrr-damage-list article { padding: 28px; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; background: rgba(255,255,255,.04); }
.mrr-damage-list h3 { font-family: Georgia, serif; font-size: 1.65rem; }
.mrr-damage-list p { margin-bottom: 0; color: #d6e2de; }
.mrr-two-column { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: start; }
.mrr-callout { padding: 34px; border-left: 5px solid var(--mrr-copper); border-radius: 0 22px 22px 0; background: #fff; box-shadow: 0 18px 46px rgba(23,33,40,.08); }
.mrr-callout h3 { font-family: Georgia, serif; font-size: 1.8rem; }
.mrr-callout p { margin-bottom: 0; color: var(--mrr-muted); }

.mrr-project-toolbar { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 36px; }
.mrr-project-toolbar button { padding: 10px 16px; border: 1px solid var(--mrr-line); border-radius: 999px; background: transparent; color: var(--mrr-ink); font-weight: 800; cursor: pointer; }
.mrr-project-toolbar button.is-active { background: var(--mrr-ink); color: #fff; border-color: var(--mrr-ink); }
.mrr-project-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.mrr-project-card { overflow: hidden; border: 1px solid var(--mrr-line); border-radius: var(--mrr-radius); background: #fff; box-shadow: 0 14px 40px rgba(23,33,40,.07); }
.mrr-project-card[hidden] { display: none; }
.mrr-project-card > div:last-child { padding: 30px; }
.mrr-project-card h2 { margin-bottom: 14px; font-size: 2.2rem; }
.mrr-project-card p { color: var(--mrr-muted); }
.mrr-project-card ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 22px 0 0; list-style: none; }
.mrr-project-card li { padding: 7px 10px; border-radius: 999px; background: var(--mrr-sand); font-size: .72rem; font-weight: 800; }
.mrr-project-art { position: relative; height: 300px; overflow: hidden; background: linear-gradient(#a6c0ca 0 56%, #b69b78 56%); }
.mrr-project-art:before { z-index: 2; background: linear-gradient(180deg, transparent 60%, rgba(12,18,21,.5)); }
.mrr-project-art:after { z-index: 1; width: 80%; height: 52%; left: 10%; top: 34%; }
.mrr-project-art span { position: absolute; z-index: 3; left: 18px; bottom: 15px; color: #fff; font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.mrr-project-art--two:after, .mrr-project-art--five:after { background: repeating-linear-gradient(90deg,#556a72 0 20px,#3f5158 20px 23px); }
.mrr-project-art--three:after, .mrr-project-art--six:after { height: 24%; top: 56%; clip-path: polygon(0 14%,100% 0,100% 100%,0 100%); }
.mrr-project-art--four { background: linear-gradient(#95b2bd 0 56%, #aa8e6f 56%); }
.mrr-gallery-note { margin-top: 30px; padding: 18px 20px; border-radius: 15px; background: var(--mrr-sand); color: var(--mrr-muted); font-size: .86rem; }

.mrr-contact-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 70px; align-items: start; }
.mrr-contact-intro { position: sticky; top: 140px; }
.mrr-contact-cards { display: grid; gap: 12px; margin: 28px 0; }
.mrr-contact-cards > * { display: flex; flex-direction: column; padding: 18px 20px; border: 1px solid var(--mrr-line); border-radius: 16px; background: #fff; text-decoration: none; }
.mrr-contact-cards span { color: var(--mrr-muted); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.mrr-contact-cards strong { margin-top: 3px; }
.mrr-service-area { padding: 24px; border-radius: 20px; background: var(--mrr-sand); }
.mrr-service-area h3 { font-family: Georgia, serif; font-size: 1.5rem; }
.mrr-service-area p { margin-bottom: 8px; }
.mrr-service-area small { color: var(--mrr-muted); }
.mrr-form-card { min-height: 690px; padding: 38px; border: 1px solid var(--mrr-line); border-radius: 28px; background: #fff; box-shadow: var(--mrr-shadow); }
.mrr-form-heading h2 { margin-bottom: 8px; font-size: 2.7rem; }
.mrr-form-heading > p:last-child { color: var(--mrr-muted); font-size: .82rem; }
.mrr-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 28px 0; }
.mrr-form-grid label { display: flex; flex-direction: column; gap: 7px; color: #1c2d28; font-size: .82rem; font-weight: 800; }
.mrr-form-grid input, .mrr-form-grid select, .mrr-form-grid textarea { width: 100%; padding: 13px 14px; border: 1px solid #80958e; border-radius: 10px; background: #fff; color: var(--mrr-ink); font-weight: 500; outline: none; }
.mrr-form-grid input:focus, .mrr-form-grid select:focus, .mrr-form-grid textarea:focus { border-color: var(--mrr-copper); box-shadow: 0 0 0 3px rgba(15,118,110,.2); }
.mrr-field-wide { grid-column: 1 / -1; }
.mrr-checkbox { flex-direction: row !important; align-items: start; gap: 10px !important; font-weight: 600 !important; }
.mrr-checkbox input { width: 18px; height: 18px; margin-top: 3px; }
.mrr-form-status { margin: 12px 0 0; color: #9b1c0b; font-size: .85rem; }
.mrr-form-success { min-height: 610px; display: flex; flex-direction: column; justify-content: center; align-items: start; }
.mrr-form-success[hidden] { display: none; }
.mrr-form-success > span { width: 64px; height: 64px; display: grid; place-items: center; margin-bottom: 24px; border-radius: 50%; background: #dcebe4; color: var(--mrr-success); font-size: 1.8rem; font-weight: 900; }
.mrr-form-success h2 { font-size: 3rem; }
.mrr-form-success p:not(.mrr-kicker) { color: var(--mrr-muted); }

.mrr-footer { padding: 76px 0 18px; background: #0d1117; color: #ffffff; }
.mrr-footer__grid { display: grid; grid-template-columns: 1.3fr .55fr .8fr .8fr; gap: 55px; }
.mrr-brand--footer { color: #fff; }
.mrr-brand--footer .mrr-brand__text small { color: #cbd8d3; }
.mrr-footer__grid > div:first-child > p { max-width: 360px; margin: 24px 0 0; color: #c4d2cd; font-size: .88rem; }
.mrr-footer h2 { margin-bottom: 18px; font-family: inherit; font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.mrr-footer__grid > div:not(:first-child) { display: flex; flex-direction: column; align-items: start; gap: 10px; }
.mrr-footer__grid a { color: #ffffff; text-decoration: none; }
.mrr-footer__grid span { color: #c4d2cd; font-size: .84rem; }
.mrr-footer__credit > a { display: flex; flex-direction: column; gap: 3px; padding: 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; }
.mrr-footer__credit small { color: #a7f3d0; }
.mrr-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 58px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); color: #b2c2bc; font-size: .78rem; }
.mrr-footer__bottom a { color: #ffffff; text-decoration: none; }
.mrr-mobile-cta { display: none; }

@media (max-width: 1050px) {
  .mrr-header__inner { grid-template-columns: auto auto 1fr; }
  .mrr-menu-toggle { display: block; justify-self: end; order: 2; }
  .mrr-header-call { justify-self: end; order: 3; }
  .mrr-nav { position: absolute; top: 100%; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; padding: 18px 20px 24px; background: #ffffff; border-bottom: 1px solid var(--mrr-line); box-shadow: 0 20px 30px rgba(23,33,40,.1); }
  .mrr-nav.is-open { display: flex; }
  .mrr-nav a { padding: 13px 16px; }
  .mrr-hero__grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .mrr-project-preview { grid-template-columns: 1fr 1fr; }
  .mrr-project-tile:first-child { grid-column: 1 / -1; min-height: 340px; }
  .mrr-review-layout { grid-template-columns: 1fr 1fr; }
  .mrr-review-layout > div:first-child { grid-column: 1 / -1; }
  .mrr-footer__grid { grid-template-columns: 1.2fr .8fr .8fr; }
  .mrr-footer__credit { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .mrr-shell { width: min(100% - 28px, 1180px); }
  .mrr-demo-ribbon .mrr-shell { min-height: 48px; }
  .mrr-demo-ribbon a { display: none; }
  .mrr-header__inner { min-height: 76px; grid-template-columns: 1fr auto; gap: 12px; }
  .mrr-header-call { display: none; }
  .mrr-menu-toggle { order: initial; }
  .mrr-hero { padding: 70px 0 44px; }
  .mrr-hero__grid { grid-template-columns: 1fr; }
  .mrr-hero__visual { min-height: 500px; }
  .mrr-hero-note { right: 12px; }
  .mrr-proofbar__grid { grid-template-columns: 1fr 1fr; }
  .mrr-section { padding: 78px 0; }
  .mrr-section-heading--split, .mrr-process-grid, .mrr-faq-layout, .mrr-storm-grid, .mrr-damage-grid, .mrr-two-column, .mrr-contact-layout { grid-template-columns: 1fr; gap: 42px; }
  .mrr-card-grid--3, .mrr-project-grid { grid-template-columns: 1fr; }
  .mrr-process-intro, .mrr-contact-intro { position: static; }
  .mrr-review-layout { grid-template-columns: 1fr; }
  .mrr-review-layout > div:first-child { grid-column: auto; }
  .mrr-service-detail { grid-template-columns: 58px 1fr; }
  .mrr-service-detail aside { grid-column: 2; }
  .mrr-damage-list { grid-template-columns: 1fr 1fr; }
  .mrr-cta__inner { grid-template-columns: 1fr; gap: 28px; }
  .mrr-footer__grid { grid-template-columns: 1fr 1fr; }
  .mrr-footer__credit { grid-column: auto; }
  .mrr-mobile-cta { position: fixed; z-index: 999; left: 14px; right: 14px; bottom: 12px; display: grid; place-items: center; min-height: 52px; border-radius: 999px; background: var(--mrr-copper); color: #fff !important; text-decoration: none; font-weight: 900; box-shadow: 0 18px 38px rgba(23,33,40,.3); }
  .mrr-footer { padding-bottom: 90px; }
}

@media (max-width: 560px) {
  body.mrr-demo-page h1 { font-size: clamp(2.8rem, 14vw, 4.3rem); }
  body.mrr-demo-page h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .mrr-brand__mark { width: 42px; height: 42px; }
  .mrr-brand__text strong { font-size: 1.08rem; }
  .mrr-brand__text small { font-size: .57rem; }
  .mrr-hero__visual { min-height: 420px; }
  .mrr-roof-scene { border-radius: 28px; }
  .mrr-house { width: 230px; height: 160px; }
  .mrr-house:before { width: 296px; left: -33px; }
  .mrr-house:after { left: 85px; }
  .mrr-house i { left: 28px; box-shadow: 120px 0 0 #8bb6c4, 120px 0 0 7px #ece1cd; }
  .mrr-hero-note { left: 16px; right: 16px; bottom: 16px; width: auto; }
  .mrr-proofbar__grid { grid-template-columns: 1fr; }
  .mrr-proofbar__grid > div, .mrr-proofbar__grid > div:first-child { min-height: auto; border-left: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .mrr-project-preview { grid-template-columns: 1fr; }
  .mrr-project-tile:first-child { grid-column: auto; }
  .mrr-service-detail { grid-template-columns: 1fr; }
  .mrr-service-detail aside { grid-column: auto; }
  .mrr-check-list { columns: 1; }
  .mrr-damage-list { grid-template-columns: 1fr; }
  .mrr-form-card { padding: 25px 20px; }
  .mrr-form-grid { grid-template-columns: 1fr; }
  .mrr-field-wide { grid-column: auto; }
  .mrr-footer__grid { grid-template-columns: 1fr; }
  .mrr-footer__bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}



/* Version 1.2 high-contrast palette: charcoal, bright teal, white, and cool gray. */
body.mrr-demo-page { background: #ffffff; color: #16181d; }
body.mrr-demo-page p, body.mrr-demo-page li { text-wrap: pretty; }

.mrr-demo-ribbon { background: #0d1117; color: #ffffff; border-bottom: 2px solid #0f766e; }
.mrr-demo-ribbon a { color: #99f6e4; text-decoration: underline; text-underline-offset: 3px; }

.mrr-header { background: rgba(255,255,255,.98); border-bottom: 2px solid #c2ccd0; }
.mrr-brand__mark { background: #0f766e; color: #ffffff; box-shadow: none; }
.mrr-brand__text strong { color: #0d1117; }
.mrr-brand__text small { color: #475569; }
.mrr-nav a { color: #16181d; }
.mrr-nav a:hover, .mrr-nav a[aria-current="page"] { background: #16181d; color: #ffffff; }
.mrr-header-call strong { color: #0f766e; }

.mrr-hero {
  color: #ffffff;
  background: radial-gradient(circle at 82% 18%, rgba(15,118,110,.42), transparent 30%), linear-gradient(135deg, #0d1117 0%, #15232d 55%, #1e293b 100%);
}
.mrr-hero:before { background: rgba(255,255,255,.05); }
.mrr-hero__content h1 { color: #ffffff; }
.mrr-hero .mrr-eyebrow { color: #99f6e4; }
.mrr-hero .mrr-lead { color: #e2f5f1; }
.mrr-hero .mrr-trust-list { color: #ffffff; }
.mrr-hero .mrr-trust-list li:before { color: #86efac; }
.mrr-hero .mrr-button--ghost { color: #ffffff !important; border-color: #ffffff; }
.mrr-hero .mrr-button--ghost:hover { background: #ffffff; color: #0d1117 !important; }

.mrr-button { border-color: #0f766e; background: #0f766e; color: #ffffff !important; box-shadow: 0 12px 28px rgba(15,118,110,.3); }
.mrr-button:hover { background: #0b5e58; border-color: #0b5e58; }
.mrr-button:focus-visible, .mrr-nav a:focus-visible, .mrr-project-toolbar button:focus-visible, .mrr-menu-toggle:focus-visible { outline: 4px solid #99f6e4; outline-offset: 3px; }

.mrr-roof-scene { background: #ffffff; border: 5px solid #0f766e; box-shadow: 0 24px 70px rgba(13,17,23,.34); }
.mrr-roof-scene > * { display: none; }
.mrr-moona { width: min(94%, 470px); max-height: 510px; mix-blend-mode: normal; filter: none; border-radius: 32px; }
.mrr-hero-note { background: #0d1117; color: #ffffff; border: 2px solid #ffffff; box-shadow: 0 18px 45px rgba(13,17,23,.32); }
.mrr-hero-note strong { color: #99f6e4; }
.mrr-hero-note span { color: #ffffff; }

.mrr-proofbar { background: #111827; }
.mrr-proofbar span { color: #e5eef2; }

.mrr-section { background: #ffffff; }
.mrr-section--sand { background: #eef4f5; }
.mrr-section--ink { background: #111827; color: #ffffff; }
.mrr-section--ink .mrr-eyebrow { color: #99f6e4; }
.mrr-section--ink p { color: #e2e8f0; }

.mrr-service-card, .mrr-review-layout blockquote, .mrr-service-detail aside, .mrr-step-cards li, .mrr-project-card, .mrr-contact-cards > *, .mrr-form-card, .mrr-callout {
  background: #ffffff;
  border-color: #c2ccd0;
  box-shadow: 0 12px 30px rgba(13,17,23,.08);
}
.mrr-service-card p, .mrr-review-layout blockquote footer, .mrr-project-card p, .mrr-project-card li { color: #334155; }
.mrr-service-card a, .mrr-text-link { color: #0b5e58; text-decoration-thickness: 2px; text-underline-offset: 3px; }

.mrr-project-tile--shingle { background: linear-gradient(#d4e4e2 0 55%, #667780 55%); }
.mrr-project-tile--metal { background: linear-gradient(#dde9e7 0 55%, #73838c 55%); }
.mrr-project-tile--flat { background: linear-gradient(#d1e0de 0 58%, #6a7a83 58%); }
.mrr-project-tile span { color: #ccfbf1; }

.mrr-cta { background: #0f766e; color: #ffffff; }
.mrr-cta .mrr-eyebrow, .mrr-cta p:last-child { color: #effcf9; }
.mrr-button--light { background: #ffffff; border-color: #ffffff; color: #0d1117 !important; }
.mrr-button--light:hover { background: #eef4f5; border-color: #eef4f5; }

.mrr-page-hero, .mrr-page-hero--storm, .mrr-page-hero--projects, .mrr-page-hero--contact { background: #111827; }
.mrr-page-hero:before { background: radial-gradient(circle at 80% 20%, rgba(15,118,110,.55), transparent 30%), linear-gradient(135deg, transparent, rgba(30,41,59,.45)); }
.mrr-page-hero .mrr-eyebrow, .mrr-page-hero--services .mrr-eyebrow { color: #99f6e4; }
.mrr-page-hero p:last-child { color: #e2f5f1; }

.mrr-alert { background: #dff7f4; color: #0f3d3a; border-block: 2px solid #0f766e; }
.mrr-service-area { background: #eef4f5; }
.mrr-callout { border-left-color: #0f766e; }
.mrr-project-toolbar button { color: #16181d; border-color: #8da0a8; background: #ffffff; }
.mrr-project-toolbar button.is-active { background: #16181d; color: #ffffff; border-color: #16181d; }
.mrr-form-grid input, .mrr-form-grid select, .mrr-form-grid textarea { border: 2px solid #8da0a8; color: #0d1117; background: #ffffff; }
.mrr-form-grid input:focus, .mrr-form-grid select:focus, .mrr-form-grid textarea:focus { border-color: #0f766e; box-shadow: 0 0 0 4px rgba(15,118,110,.18); }

.mrr-footer { background: #0d1117; color: #ffffff; border-top: 5px solid #0f766e; }
.mrr-footer__grid a, .mrr-footer__bottom a { color: #ffffff; }
.mrr-footer__grid span, .mrr-footer__grid > div:first-child > p, .mrr-footer__bottom { color: #cbd5e1; }
.mrr-footer__credit small { color: #99f6e4; }

@media (max-width: 1050px) {
  .mrr-nav { background: #ffffff; border-bottom: 2px solid #c2ccd0; }
}

@media (max-width: 820px) {
  .mrr-mobile-cta { background: #0f766e; color: #ffffff !important; border: 2px solid #ffffff; }
}
