*{box-sizing:border-box}
:root{--ink:var(--pmr-surface-dark);--paper:var(--pmr-surface-paper);--white:var(--pmr-logo-white);--burgundy:var(--pmr-burgundy);--burgundy-dark:var(--pmr-burgundy-dark);--graphite:var(--pmr-graphite);--muted:#606661;--line:rgba(23,27,29,.2);--max:var(--pmr-content-max)}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Montserrat,"Helvetica Neue",sans-serif;line-height:1.55}
a{color:inherit;text-underline-offset:4px}
img{display:block;max-width:100%}
.shell{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.skip-link{position:fixed;z-index:100;top:-100px;left:16px;padding:12px 16px;background:var(--white);color:var(--ink)}
.skip-link:focus{top:16px}
.eyebrow{margin:0 0 18px;color:var(--burgundy);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.055em;line-height:.97}
.button,.phone-action,.button-light,.phone-action-light{display:inline-flex;min-width:44px;min-height:48px;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}
.button{padding:12px 20px;background:var(--burgundy);color:var(--white)}
.button:hover{background:var(--burgundy-dark)}
.phone-action{padding:10px 2px;text-underline-offset:6px}
.service-hero{padding:76px 0 82px;border-bottom:1px solid var(--ink);background:var(--paper)}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(370px,5fr);gap:clamp(48px,7vw,96px);align-items:center}
.hero-copy h1{max-width:9ch;margin:0;font-size:clamp(4rem,7.2vw,7rem)}
.intro{max-width:33rem;margin:34px 0 0;font-size:clamp(1.25rem,2.25vw,1.75rem);font-weight:700;line-height:1.28}
.hero-detail{max-width:40rem;margin:18px 0 0;color:var(--muted);font-size:1.05rem;line-height:1.7}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}
.area-art{position:relative;display:grid;place-items:center;min-height:390px;margin:0;overflow:hidden;background:var(--ink);color:var(--white)}
.area-art::before{position:absolute;inset:0;background:linear-gradient(135deg,rgba(127,29,54,.75),transparent 65%);content:""}
.area-art svg{position:relative;width:90%;max-width:560px}
.art-field{fill:rgba(254,254,254,.055);stroke:rgba(254,254,254,.3);stroke-width:1}
.art-line{fill:none;stroke:rgba(254,254,254,.36);stroke-width:1.5}
.art-ring{fill:none;stroke:#f0d5dc;stroke-width:1.5;stroke-dasharray:6 9}
.art-pin{fill:var(--burgundy);stroke:#f0d5dc;stroke-width:4}
.art-dot{fill:#f0d5dc}
.area-art figcaption{position:absolute;right:20px;bottom:16px;left:20px;color:#d3d7d3;font-size:.78rem}
.availability{padding:76px 0;background:var(--white)}
.availability-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,8vw,120px);align-items:start}
.availability h2,.section-heading h2,.local-work h2{max-width:10ch;margin:0;font-size:clamp(2.85rem,5vw,5rem)}
.availability-copy{max-width:38rem;padding-top:6px}
.availability-copy p,.work-copy p{margin-bottom:24px;color:var(--muted);font-size:1.1rem;line-height:1.7}
.text-link{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:var(--ink);font-size:.76rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.text-link span{color:var(--burgundy);font-size:1.1rem}
.steps{padding:78px 0 88px;background:var(--paper)}
.section-heading{display:grid;grid-template-columns:5fr 7fr;gap:40px;align-items:end;margin-bottom:40px}
.section-heading .eyebrow{align-self:start}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;border-top:1px solid var(--ink);border-left:1px solid var(--line);list-style:none}
.steps-grid li{min-height:270px;padding:28px 24px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--ink);background:rgba(254,254,254,.34)}
.step-number{display:block;margin-bottom:44px;color:var(--burgundy);font-size:.72rem;font-weight:900;letter-spacing:.12em}
.steps-grid h3{max-width:12ch;margin:0;font-size:clamp(1.55rem,2.4vw,2.15rem)}
.steps-grid p{max-width:21rem;margin:20px 0 0;color:var(--muted);font-size:.94rem}
.local-work{padding:74px 0 80px;background:#e5e6e2;border-top:1px solid var(--line)}
.work-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,8vw,120px)}
.work-copy{max-width:40rem;padding-top:6px}
.work-links{display:flex;gap:26px;flex-wrap:wrap}
.location-cta{padding:52px 0 56px;background:var(--burgundy);color:var(--white)}
.location-cta .eyebrow{color:#f0d5dc}
.cta-grid{display:grid;grid-template-columns:6fr 6fr;gap:48px;align-items:center}
.cta-grid h2{max-width:13ch;margin:0;font-size:clamp(2.65rem,4.5vw,4.65rem)}
.cta-copy{max-width:34rem;justify-self:end}
.cta-copy>p{margin:0 0 24px;font-size:1.1rem;line-height:1.65}
.cta-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.button-light{padding:12px 20px;background:var(--white);color:var(--ink)}
.button-light:hover{background:#e3e4e0}
.phone-action-light{padding:10px 2px;color:var(--white);text-underline-offset:6px}
:focus-visible{outline:3px solid #b44865;outline-offset:3px}

@media(max-width:900px){.service-hero{padding:62px 0 68px}
.hero-grid{grid-template-columns:1fr;gap:46px}
.hero-copy h1{max-width:10ch}
.area-art{max-width:660px;min-height:340px}
.availability-grid,.work-grid{grid-template-columns:1fr;gap:28px}
.section-heading{grid-template-columns:1fr;gap:12px}
.steps-grid li{min-height:300px}
.cta-grid{grid-template-columns:1fr;gap:24px}
.cta-copy{justify-self:start}
}
@media(max-width:720px){.shell{width:min(calc(100% - 40px),var(--max))}
.service-hero{padding:46px 0 52px}
.hero-copy h1{font-size:clamp(3.15rem,14vw,4.45rem)}
.intro{margin-top:26px;font-size:1.24rem}
.hero-detail{font-size:1rem}
.hero-actions{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:10px}
.area-art{min-height:255px}
.area-art svg{width:105%}
.availability,.steps,.local-work{padding:56px 0 62px}
.availability h2,.section-heading h2,.local-work h2{font-size:2.65rem}
.availability-copy p,.work-copy p{font-size:1rem}
.steps-grid{grid-template-columns:1fr}
.steps-grid li{min-height:0;padding:24px 20px 28px}
.step-number{margin-bottom:30px}
.steps-grid p{margin-top:16px}
.location-cta{padding:38px 0 42px}
.cta-grid h2{font-size:2.6rem}
.cta-copy>p{font-size:1rem}
.cta-actions{display:grid;grid-template-columns:1fr;gap:8px}
.button-light,.phone-action-light{width:100%;justify-content:center}
}
@media(max-width:360px){.shell{width:calc(100% - 32px)}
.hero-actions{grid-template-columns:1fr}
.area-art{min-height:225px}
.work-links{gap:8px;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}.areas-overview{padding:80px 0 84px;background:var(--ink);color:var(--white)}
.areas-overview .eyebrow{color:#f0d5dc}
.areas-heading{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,8vw,120px);align-items:end;margin-bottom:42px}
.areas-heading h2{max-width:11ch;margin:0;font-size:clamp(2.9rem,5vw,5rem)}
.areas-heading>p{max-width:35rem;margin:0 0 7px;color:#d3d7d3;font-size:1.04rem;line-height:1.65}
.areas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.area-card{position:relative;min-height:310px;padding:24px 22px 26px;overflow:hidden;border:1px solid rgba(254,254,254,.25);background:#22282a}
.area-card::before{position:absolute;top:-62px;right:-70px;width:200px;height:200px;border:1px solid rgba(254,254,254,.21);border-radius:50%;content:""}
.area-card::after{position:absolute;right:28px;bottom:28px;width:12px;height:12px;border-radius:50%;content:""}
.area-card--toronto{background:linear-gradient(145deg,#2a3032,#171b1d)}
.area-card--toronto::after{background:#f0d5dc}
.area-card--peel{background:linear-gradient(145deg,#5e1428,#251e23)}
.area-card--peel::after{background:#f0d5dc}
.area-card--halton{background:linear-gradient(145deg,#263231,#171b1d)}
.area-card--halton::after{background:#c6d3cf}
.area-card--york{background:linear-gradient(145deg,#313030,#1a1e20)}
.area-card--york::after{background:#d6c9b7}
.area-label{position:relative;margin:0 0 58px;color:#f0d5dc;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.area-card h3{position:relative;max-width:11ch;margin:0;font-size:clamp(1.55rem,2.3vw,2.25rem)}
.area-card p:last-child{position:relative;max-width:18rem;margin:18px 0 0;color:#d3d7d3;font-size:.88rem;line-height:1.6}
.areas-footnote{display:flex;gap:12px;align-items:flex-start;max-width:44rem;margin:30px 0 0;color:#d3d7d3}
.areas-footnote p{margin:0;font-size:.94rem}
.area-dot{flex:0 0 auto;width:10px;height:10px;margin-top:.42rem;border-radius:50%;background:var(--burgundy)}

@media(max-width:900px){.areas-heading{grid-template-columns:1fr;gap:16px}
.areas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.area-card{min-height:270px}
}
@media(max-width:720px){.areas-overview{padding:58px 0 62px}
.areas-heading h2{font-size:2.65rem}
.areas-heading>p{font-size:1rem}
.areas-grid{grid-template-columns:1fr}
.area-card{min-height:235px}
.area-label{margin-bottom:38px}
.area-card h3{font-size:2rem}
.areas-footnote{margin-top:22px}
}
