﻿/* Toronto city page: reuse the established local-page system with Toronto-specific editorial layouts. */
.toronto-page .ms-hero h1{font-size:clamp(3rem,5vw,4.8rem)}
.toronto-page .toronto-hero-display{font-size:clamp(2.15rem,3.7vw,3.65rem);line-height:1.04;letter-spacing:-.045em;font-weight:900;color:var(--ms-white);margin:-12px 0 24px;max-width:760px}
.toronto-page .toronto-hero-display span{color:var(--ms-orange)}
.toronto-page .ms-breadcrumb{margin-bottom:48px}
.toronto-page .ms-hero-image{width:100%;object-position:70% 50%}
.to-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.to-intro-copy>p{font-size:.96rem;line-height:1.8;color:var(--ms-gray);margin-bottom:18px}
.to-intro-visual{height:460px;position:relative;overflow:hidden;border-radius:17px;background:var(--ms-navy)}
.to-intro-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.to-intro-visual::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(var(--ms-overlay-rgb),.9))}
.to-intro-visual>span{position:absolute;left:28px;right:28px;bottom:28px;z-index:1;color:var(--ms-white);font-size:1.1rem;font-weight:750;line-height:1.5}
.to-process{background:var(--ms-navy);color:var(--ms-white)}
.to-process .eyebrow{color:var(--ms-orange)}
.to-process h2{color:var(--ms-white)}
.to-process-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.to-step{padding:30px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.045);border-radius:14px}
.to-step>span{display:block;color:var(--ms-orange);font-size:2.8rem;line-height:1;font-weight:850;letter-spacing:-.03em;margin-bottom:26px}
.to-step h3{color:var(--ms-white);font-size:1.3rem;line-height:1.25;margin-bottom:15px}
.to-step p{color:var(--ms-light-text);font-size:.95rem;line-height:1.8;margin:0}
.to-process-close{display:flex;align-items:center;justify-content:center;gap:10px;margin:28px 0 0;font-size:1rem;font-weight:750}
.to-process-close svg{width:22px;height:22px;color:var(--ms-orange);flex:none}
.to-local-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.to-local-feature{grid-column:span 1;grid-row:span 2;background:var(--ms-navy);border-radius:15px;overflow:hidden;display:flex;flex-direction:column;color:var(--ms-white)}
.to-local-feature>img{height:240px;width:100%;object-fit:cover}
.to-local-feature>div{padding:28px;flex:1}
.to-local-feature .eyebrow{color:var(--ms-orange);font-size:.65rem}
.to-local-feature h3{color:var(--ms-white);font-size:1.6rem;line-height:1.25;margin-bottom:20px}
.to-local-feature p{color:var(--ms-light-text);font-size:.96rem;line-height:1.8;margin:0}
.to-local-card{padding:28px;border:1px solid var(--ms-border);border-radius:15px;background:var(--ms-white)}
.to-local-card h3{font-size:1.35rem;line-height:1.3;margin-bottom:18px;letter-spacing:-.02em}
.to-local-card p{font-size:.93rem;line-height:1.8;color:var(--ms-gray);margin:0}
.to-compare-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}
.to-compare-checks{display:grid;gap:16px}
.to-compare-checks article{padding:24px;display:flex;gap:16px;align-items:flex-start;border:1px solid var(--ms-border);background:var(--ms-warm);border-radius:12px}
.to-compare-checks article>svg{width:22px;height:22px;flex:none;color:var(--ms-orange-hover)}
.to-compare-checks h3{font-size:1.1rem;line-height:1.3;margin-bottom:8px}
.to-compare-checks p{font-size:.92rem;line-height:1.75;color:var(--ms-gray);margin:0}
.to-coverage ul{grid-template-columns:repeat(5,minmax(0,1fr))}
.to-coverage li a{justify-content:flex-start;padding-left:18px}
.toronto-page .ms-closing .to-estimate-note{font-size:.75rem;line-height:1.7;max-width:620px;margin-bottom:0;color:var(--ms-light-text)}
@media(prefers-reduced-motion:no-preference){.to-reveal{transition:opacity .5s ease-out,transform .5s cubic-bezier(.2,.7,.2,1)}.to-reveal.to-pending{opacity:0;transform:translateY(14px)}}
@media(max-width:1100px){.to-intro-grid,.to-compare-grid{gap:32px}.to-step{padding:24px}.to-local-grid{grid-template-columns:1fr 1fr}.to-local-feature{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:1fr 1fr}.to-local-feature>img{height:100%;min-height:330px}.to-local-card{padding:24px}.to-coverage ul{grid-template-columns:repeat(5,minmax(0,1fr))}.to-coverage li a{padding-left:10px;font-size:.75rem}}
@media(max-width:800px){.to-intro-grid,.to-compare-grid{grid-template-columns:1fr}.to-intro-visual{height:320px}.to-process-grid{grid-template-columns:1fr}.to-step>span{font-size:2.4rem;margin-bottom:18px}.to-coverage ul{grid-template-columns:repeat(2,minmax(0,1fr))}.to-coverage li a{padding-left:18px}.toronto-page .ms-hero-image{height:580px;object-position:70% center}.toronto-page .ms-hero h1{font-size:clamp(3rem,7vw,4.4rem)}.toronto-page .toronto-hero-display{font-size:clamp(2.05rem,5.8vw,3.4rem);margin-top:-10px}.toronto-page .ms-hero-trust{gap:18px}}
@media(max-width:520px){.toronto-page .ms-hero h1{font-size:clamp(3rem,11vw,3.8rem)}.toronto-page .toronto-hero-display{font-size:clamp(1.9rem,9.2vw,3rem);line-height:1.06;margin-top:-8px;margin-bottom:22px}.toronto-page .ms-breadcrumb{margin-bottom:30px}.toronto-page .ms-hero-trust{gap:12px}.toronto-page .ms-hero-trust li{font-size:.67rem}.to-intro-visual{height:270px}.to-intro-visual>span{font-size:1rem;left:23px;bottom:23px}.to-local-grid{grid-template-columns:1fr;gap:20px}.to-local-feature{grid-column:auto;display:block}.to-local-feature>img{height:210px;min-height:0}.to-local-feature>div{padding:26px 23px}.to-local-card{padding:26px 23px}.to-compare-checks article{padding:22px 18px;gap:12px}.to-process-close{font-size:.92rem;align-items:flex-start}.to-process-close svg{margin-top:2px}.to-coverage li a{font-size:.78rem}.to-coverage .ms-neighbourhood-prefix{font-size:.65rem}}
@media(prefers-reduced-motion:reduce){.to-reveal.to-pending{opacity:1;transform:none}}
/* Keep the working roofers in the narrow-screen crop of the supplied Toronto image. */
@media(max-width:800px){.toronto-page .ms-hero-image{object-position:42% center}}
