﻿/* Child-page layouts only; shared Mississauga palette, typography and form rules are reused. */
.roof-repair-page .ms-hero h1{font-size:clamp(2.7rem,4.4vw,4.2rem)}
.roof-repair-page .ms-breadcrumb{margin-bottom:48px}
.rr-form-context{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--ms-border)}
.rr-form-context>span{display:inline-flex;align-items:center;gap:6px;border-radius:6px;background:var(--ms-warm);padding:6px 9px;font-size:.75rem;font-weight:750;color:var(--ms-navy)}
.rr-form-context svg{width:16px;height:16px;color:var(--ms-orange)}
.rr-problem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rr-problem{border:1px solid var(--ms-border);border-radius:14px;background:var(--ms-white);overflow:hidden;box-shadow:0 6px 20px rgba(var(--ms-navy-rgb),.04)}
.rr-problem>img{height:185px;width:100%;object-fit:cover}
.rr-problem-copy{padding:25px;position:relative}
.rr-problem-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--orange-l);color:var(--ms-orange-hover);margin-bottom:20px}
.rr-problem-icon svg{width:23px;height:23px}
.rr-problem-photo .rr-problem-icon{margin-top:-46px;position:relative;background:var(--ms-orange);color:var(--ms-white);border:3px solid var(--ms-white);box-shadow:0 4px 12px rgba(var(--ms-navy-rgb),.1)}
.rr-problem h3{font-size:1.2rem;font-weight:800;line-height:1.3;margin:0 0 12px}
.rr-problem p{font-size:.93rem;line-height:1.75;color:var(--ms-gray);margin:0}
.rr-problem a{display:inline-block;margin-top:18px;color:var(--ms-orange-hover);font-size:.85rem;font-weight:750;text-decoration:none}
.rr-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.rr-compare{padding:34px;border:1px solid var(--ms-border);border-radius:16px;background:var(--ms-white)}
.rr-number{display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--ms-orange-hover);margin-bottom:18px}
.rr-compare h3{font-size:1.6rem;line-height:1.25;letter-spacing:-.025em;margin:0 0 24px}
.rr-compare ul{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:15px}
.rr-compare li{padding-left:27px;font-size:.97rem;line-height:1.6;color:var(--ms-gray);position:relative}
.rr-compare li::before{content:"\2713";color:var(--ms-orange-hover);position:absolute;left:0;font-weight:800}
.rr-compare p{font-size:.9rem;line-height:1.75;margin:0;padding-top:20px;border-top:1px solid var(--ms-border);color:var(--ms-gray)}
.rr-compare a{display:inline-block;margin-top:15px;font-weight:750;color:var(--ms-orange);text-decoration:none}
.rr-compare-dark{background:var(--ms-navy);border-color:var(--ms-navy)}
.rr-compare-dark h3{color:var(--ms-white)}
.rr-compare-dark p,.rr-compare-dark li{color:var(--ms-light-text)}
.rr-compare-dark p{border-color:rgba(255,255,255,.18)}
.rr-compare-dark .rr-number,.rr-compare-dark li::before{color:var(--ms-orange)}
.rr-compare-note{display:flex;align-items:center;justify-content:center;gap:10px;font-size:.95rem;font-weight:650;margin:26px 0 0;color:var(--ms-navy);text-align:center}
.rr-compare-note svg{width:20px;height:20px;flex:none;color:var(--ms-orange-hover)}
.rr-why-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}
.rr-why-photo{height:630px;position:relative;border-radius:18px;overflow:hidden;background:var(--ms-navy)}
.rr-why-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rr-why-photo::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(var(--ms-overlay-rgb),.85))}
.rr-why-photo>span{position:absolute;left:28px;bottom:28px;color:var(--ms-white);z-index:1;font-size:1.15rem;font-weight:750}
.rr-proof-list{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;margin:28px 0;gap:26px}
.rr-proof-list>li{display:flex;align-items:flex-start;gap:12px}
.rr-proof-list>li>svg{width:23px;height:23px;color:var(--ms-orange-hover);flex:none}
.rr-proof-list h3{font-size:1rem;line-height:1.3;margin-bottom:8px}
.rr-proof-list p,.rr-best-note{font-size:.86rem;line-height:1.75;margin:0;color:var(--ms-gray)}
.rr-best-note{padding-top:22px;border-top:1px solid var(--ms-border)}
.rr-local-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rr-local-card{padding:30px;border-radius:14px;background:var(--ms-white);border:1px solid var(--ms-border)}
.rr-local-card h3{font-size:1.35rem;line-height:1.3;letter-spacing:-.02em;margin-bottom:18px}
.rr-local-card p{font-size:.94rem;line-height:1.8;color:var(--ms-gray);margin:0}
.rr-specialty-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.rr-specialty{border:1px solid var(--ms-border);border-radius:16px;overflow:hidden;background:var(--ms-warm);display:flex;flex-direction:column}
.rr-specialty>img{height:220px;width:100%;object-fit:cover}
.rr-specialty>div{padding:32px;display:flex;flex-direction:column;flex:1}
.rr-specialty h2{font-size:clamp(1.65rem,2.6vw,2rem);font-weight:850;letter-spacing:-.025em;line-height:1.2;margin-bottom:20px}
.rr-specialty p{font-size:.95rem;line-height:1.8;color:var(--ms-gray)}
.rr-specialty a:not(.btn){display:inline-block;margin-top:auto;font-size:.86rem;font-weight:750;color:var(--ms-orange-hover);text-decoration:none;line-height:1.6}
.rr-specialty-emergency{background:var(--ms-navy);border-color:var(--ms-navy)}
.rr-specialty-emergency>div{padding:44px;justify-content:center}
.rr-specialty-emergency h2{color:var(--ms-white);font-size:clamp(1.8rem,3vw,2.5rem)}
.rr-specialty-emergency p{color:var(--ms-light-text)}
.rr-specialty-emergency .eyebrow,.rr-specialty-emergency a:not(.btn){color:var(--ms-orange)}
.rr-specialty-emergency a:not(.btn){margin-top:8px;margin-bottom:24px}
.rr-specialty .btn{align-self:flex-start;min-height:48px;font-size:.9rem}
.rr-related{padding:38px 0}
.rr-related h2{font-size:1.3rem;margin-bottom:13px}
.rr-related p{font-size:.87rem;color:var(--ms-gray);line-height:1.75;max-width:890px;margin-bottom:22px}
.rr-related p a{color:var(--ms-orange-hover);font-weight:700}
.rr-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.rr-related li{min-width:0}
.rr-related li a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:65px;padding:14px;border:1px solid var(--ms-border);border-radius:8px;background:var(--ms-white);font-size:.8rem;font-weight:750;line-height:1.5;text-decoration:none}
.rr-related li a>span{color:var(--ms-orange-hover);font-size:1.2rem}
.rr-problem a:hover,.rr-compare a:hover,.rr-specialty a:not(.btn):hover{text-decoration:underline;text-underline-offset:4px}
@media(prefers-reduced-motion:no-preference){.rr-reveal{transition:opacity .5s ease-out,transform .5s cubic-bezier(.2,.7,.2,1)}.rr-reveal.rr-pending{opacity:0;transform:translateY(14px)}}
@media(max-width:1100px){.rr-why-layout{gap:32px}.rr-why-photo{height:660px}.rr-proof-list{grid-template-columns:1fr;gap:20px}.rr-local-card{padding:23px}.rr-related ul{grid-template-columns:repeat(3,minmax(0,1fr))}.rr-compare h3{font-size:1.4rem}.rr-specialty-emergency>div{padding:32px}}
@media(max-width:800px){.rr-problem-grid{grid-template-columns:1fr 1fr;gap:20px}.rr-compare-grid{grid-template-columns:1fr}.rr-why-layout{grid-template-columns:1fr}.rr-why-photo{height:330px}.rr-proof-list{grid-template-columns:1fr 1fr}.rr-local-grid{grid-template-columns:1fr}.rr-local-card{padding:28px}.rr-specialty-grid{grid-template-columns:1fr}.rr-specialty>img{height:230px}.rr-related ul{grid-template-columns:1fr 1fr}.roof-repair-page .ms-hero h1{font-size:clamp(2.8rem,7vw,4rem)}}
@media(max-width:520px){.roof-repair-page .ms-hero h1{font-size:clamp(2.5rem,10vw,3.3rem)}.roof-repair-page .ms-breadcrumb{margin-bottom:30px}.rr-problem-grid{grid-template-columns:1fr}.rr-problem>img{height:190px}.rr-problem-copy{padding:25px}.rr-problem h3{font-size:1.3rem}.rr-compare{padding:26px 22px}.rr-compare h3{font-size:1.5rem}.rr-compare-note{align-items:flex-start;text-align:left;font-size:.9rem}.rr-compare-note svg{margin-top:3px}.rr-why-photo{height:270px}.rr-proof-list{grid-template-columns:1fr}.rr-specialty>div,.rr-specialty-emergency>div{padding:27px 23px}.rr-specialty>img{height:180px}.rr-specialty .btn{font-size:.82rem;gap:7px;padding:13px 15px;width:100%;justify-content:center}.rr-related ul{grid-template-columns:1fr}.rr-related li a{min-height:52px}.rr-form-context{margin-bottom:17px}.roof-repair-page .ms-hero-trust{gap:12px}.roof-repair-page .ms-hero-trust li{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){.rr-reveal.rr-pending{opacity:1;transform:none}}
