/* Toronto Chimney Repair — "Heritage Brick" */
:root{--display:"Plus Jakarta Sans",system-ui,sans-serif;--dw:800;--cream:#f6f1e7;--stone:#ece4d6;--paper:#fffdf8;--navy:#16213a;--navy2:#22304f;--brick:#a8432f;--brick2:#c25a3f;--mortar:#d9cdb9;--ink:#1d2433;--mut:#5d6474;--line:#e2d8c6;--sign:#1b4c9c}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Figtree,system-ui,sans-serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
a{color:inherit}img{display:block;max-width:100%}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
h1,h2,.h3{font-family:var(--display);font-weight:var(--dw);color:var(--navy);margin:0;letter-spacing:-.025em}
h1 em,h2 em,.h3 em{color:var(--brick);font-style:normal}
h1{font-size:clamp(36px,4.8vw,64px);line-height:1.04}
h2{font-size:clamp(28px,3.4vw,44px);line-height:1.08}
.h3{font-size:clamp(22px,2vw,27px);line-height:1.18;margin:40px 0 14px;font-weight:700}
h3{font-size:19px;margin:0;color:var(--navy)}
.eyebrow{font-weight:700;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--brick);margin:0 0 12px;display:flex;align-items:center;gap:10px}
.eyebrow:before{content:"";width:22px;height:3px;background:var(--brick);border-radius:2px}
.eyebrow--lt{color:#f1b8a6}.eyebrow--lt:before{background:#f1b8a6}
.lede{font-size:19px;color:var(--mut);max-width:560px;margin:18px 0 0}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 24px;border-radius:10px;font-weight:700;text-decoration:none;font-size:16px;border:2px solid transparent}
.btn--brick{background:var(--brick);color:#fff;box-shadow:0 3px 0 #7c2f20}.btn--brick:hover{background:var(--brick2)}
.btn--line{border-color:var(--navy);color:var(--navy)}.btn--line:hover{background:var(--navy);color:#fff}
.ic{width:22px;height:22px;flex:none}.ic--sm{width:18px;height:18px}
.note{font-size:13.5px;color:var(--mut)}
/* bricks divider */
.bricks{height:34px;background-color:var(--brick);background-image:linear-gradient(var(--mortar) 2px,transparent 2px),linear-gradient(90deg,var(--mortar) 2px,transparent 2px),linear-gradient(90deg,var(--mortar) 2px,transparent 2px);background-size:100% 17px,48px 34px,48px 34px;background-position:0 0,0 0,24px 17px;background-repeat:repeat,repeat,repeat;opacity:.95;box-shadow:inset 0 -2px 0 var(--mortar)}
.bricks--thin{height:17px}
/* top line + header */
.topline{background:var(--navy);color:#d7deea;font-size:13.5px}
.topline__in{display:flex;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px;gap:14px}
.topline a{display:flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}.topline .ic{width:16px;height:16px}
.hdr{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.hdr__in{display:flex;align-items:center;gap:26px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.mark{width:52px;height:52px;flex:none;border-radius:10px;object-fit:cover}
.brand__t{display:flex;flex-direction:column;line-height:1.1}.brand__t b{font-family:var(--display);font-weight:var(--dw);font-size:23px;color:var(--navy)}
.brand__t span{font-size:12px;color:var(--mut);font-weight:600;letter-spacing:.04em;margin-top:3px}
.nav{display:flex;gap:24px;margin-left:auto;font-weight:600;font-size:15px}.nav a{text-decoration:none;color:var(--ink)}.nav a:hover{color:var(--brick)}
.hdr__cta{background:var(--navy);color:#fff;text-decoration:none;padding:11px 18px;border-radius:10px;font-weight:700;white-space:nowrap}.hdr__cta:hover{background:var(--brick)}
/* home hero */
.hero{padding:56px 0 64px;background:radial-gradient(1200px 500px at 85% 0%,#efe3cf,transparent 60%),var(--cream)}
.hero__g{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.collage{position:relative;height:540px}
.collage>div{position:absolute;overflow:hidden;border-radius:14px;box-shadow:0 22px 50px -24px #16213a80;border:6px solid var(--paper)}
.collage img{width:100%;height:100%;object-fit:cover}
.collage__a{left:0;top:0;width:58%;height:78%}
.collage__b{right:0;top:12%;width:48%;height:52%}
.collage__c{right:6%;bottom:0;width:40%;height:38%}
/* street signs */
.sign{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;min-width:150px}
.sign__top{background:var(--paper);color:var(--sign);border:2px solid var(--sign);border-bottom:0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:3px 12px;border-radius:8px 8px 0 0}
.sign__name{background:var(--sign);color:#fff;font-weight:700;font-size:19px;padding:9px 20px;border-radius:6px;box-shadow:inset 0 0 0 2px var(--sign),inset 0 0 0 4px #fff;letter-spacing:.02em;white-space:nowrap}
.sign--float{position:absolute;left:44%;bottom:6%;z-index:3;transform:rotate(-3deg)}
.sign--hero{margin-top:26px}
.signs{display:flex;flex-wrap:wrap;gap:22px 18px}
.sign:hover .sign__name{background:var(--brick);box-shadow:inset 0 0 0 2px var(--brick),inset 0 0 0 4px #fff}.sign:hover .sign__top{color:var(--brick);border-color:var(--brick)}
/* sections */
.sec{padding:84px 0}.sec--tight{padding-top:20px}
.sec--stone{background:var(--stone)}.sec--tight2{padding:44px 0}
.sec--navy{background:var(--navy);color:#dfe5ef}.sec--navy h2{color:#fff}.sec--navy h2 em{color:#f1b8a6}
.shead{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:end;margin-bottom:38px}.shead>p{color:var(--mut);margin:0}
/* price strip */
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.strip>div{padding:26px 28px;border-right:1px dashed var(--line)}.strip>div:nth-child(3){border-right:0}
.strip b{display:block;font-family:var(--display);font-weight:var(--dw);font-size:48px;line-height:1;color:var(--brick)}
.strip span{display:block;margin-top:8px;font-weight:600;color:var(--navy)}
.strip p{grid-column:1/-1;margin:0;padding:12px 28px;background:var(--stone);font-size:13.5px;color:var(--mut)}
/* problem cards */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pcard{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.pcard:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px #16213a70}
.pcard__img{aspect-ratio:4/3;overflow:hidden}.pcard__img img{width:100%;height:100%;object-fit:cover}
.pcard__b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1;position:relative}
.pcard__ic{position:absolute;top:-22px;right:14px;width:44px;height:44px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;border:3px solid var(--paper)}
.pcard h3{font-size:17.5px;line-height:1.25;padding-right:36px}.pcard p{margin:0;color:var(--mut);font-size:14.5px;flex:1}
.pcard__p{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:10px;margin-top:6px}.pcard__p b{color:var(--brick)}.pcard__p span{font-size:12.5px;color:var(--mut)}.pcard__p .ic{margin-left:auto;color:var(--navy)}
/* why toronto */
.why{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.why__photo{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:3/4;border:6px solid var(--paper)}.why__photo img{width:100%;height:100%;object-fit:cover}
.stamp{position:absolute;left:18px;bottom:18px;background:var(--brick);color:#fff;font-weight:700;padding:8px 14px;border-radius:8px;font-size:14px}
.why__list{display:grid;grid-template-columns:1fr 1fr;gap:26px 30px;margin-top:30px}
.why__list .num{font-family:var(--display);font-size:30px;color:var(--brick);display:block;line-height:1}
.why__list h3{margin:6px 0 6px}.why__list p{margin:0;color:var(--mut);font-size:15.5px}
/* wett block */
.wett{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}.wett p{color:#c9d2e2;max-width:540px}
.wett__img{border-radius:14px;overflow:hidden;aspect-ratio:4/3;border:6px solid var(--navy2)}.wett__img img{width:100%;height:100%;object-fit:cover}
.ticks{list-style:none;padding:0;margin:18px 0 24px}.ticks li{padding:10px 0 10px 32px;position:relative;border-top:1px solid var(--line)}
.ticks li:before{content:"";position:absolute;left:0;top:15px;width:18px;height:11px;background:var(--brick);border-radius:2px;box-shadow:inset 0 -2px 0 #7c2f20}
.ticks--lt li{border-color:#ffffff22;color:#fff}
/* faq */
.faqw{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:700;color:var(--navy);list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--brick);font-size:22px;line-height:1}.faq details[open] summary:after{content:"–"}
.faq p{margin:10px 0 0;color:var(--mut)}
/* inner hero */
.phero{padding:40px 0 56px}
.phero__g{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.phero h1{font-size:clamp(36px,4.4vw,58px)}
.phero__img{border-radius:14px;overflow:hidden;aspect-ratio:4/3.3;border:6px solid var(--paper);box-shadow:0 22px 50px -24px #16213a80}.phero__img img{width:100%;height:100%;object-fit:cover}
.crumbs{font-size:13.5px;color:var(--mut);display:flex;gap:8px;margin-bottom:14px}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--brick)}
.pbox{display:inline-flex;flex-direction:column;margin-top:26px;background:var(--paper);border:1px solid var(--line);border-left:6px solid var(--brick);border-radius:10px;padding:14px 20px}
.pbox span{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}.pbox b{font-family:var(--display);font-weight:var(--dw);font-size:38px;color:var(--brick);line-height:1.1}.pbox small{color:var(--mut)}
/* body */
.body{display:grid;grid-template-columns:1.45fr 1fr;gap:64px;align-items:start}
.big{font-size:18px;margin:0 0 18px}
.body__main .h3:first-child{margin-top:0}
.body__side{position:sticky;top:100px}
.pricecard{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px}
.pricecard .h3{margin-top:0;font-size:24px}
.pricecard__h{display:flex;justify-content:space-between;gap:14px;align-items:baseline;text-decoration:none;font-family:var(--display);font-size:23px;color:var(--navy);margin-bottom:8px}.pricecard__h b{font-weight:400;color:var(--brick);white-space:nowrap}
.pt{width:100%;border-collapse:collapse;font-size:15px}.pt td{padding:10px 0;border-top:1px solid var(--line);vertical-align:top}.pt td:last-child{text-align:right;font-weight:700;color:var(--brick);white-space:nowrap;padding-left:14px}.pt a{text-decoration:none}.pt a:hover{color:var(--brick)}
.steps{list-style:none;padding:0;margin:0;counter-reset:s}.steps li{counter-increment:s;display:grid;grid-template-columns:52px 1fr;gap:2px 12px;padding:14px 0;border-top:1px solid var(--line)}
.steps li:before{content:counter(s);grid-row:span 2;width:40px;height:40px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700}
.steps span{color:var(--mut)}
.hoods{display:flex;flex-wrap:wrap;gap:8px}.hoods span{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 14px;font-weight:600;font-size:15px}
.grp{margin:64px 0 22px}.grp:first-child{margin-top:0}
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
/* booking */
.book{background:var(--navy);color:#dfe5ef;padding:80px 0}
.book--page{padding-top:60px;min-height:80vh}
.book__g{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.book h2,.book h1{color:#fff}.book h2 em,.book h1 em{color:#f1b8a6}.book h1{font-size:clamp(28px,3.4vw,44px);line-height:1.08}.book__txt p{color:#c9d2e2}
.book__img{margin-top:26px;border-radius:14px;overflow:hidden;aspect-ratio:16/10;border:6px solid var(--navy2)}.book__img img{width:100%;height:100%;object-fit:cover}
.form{background:var(--paper);color:var(--ink);border-radius:16px;padding:28px;display:grid;gap:12px;border-top:8px solid var(--brick)}
.form .r{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form .r3{grid-template-columns:1.3fr 1fr .7fr}
.form label{display:grid;gap:5px;font-size:13px;font-weight:700;color:var(--navy)}.form small{font-weight:400;color:var(--mut)}
.form input,.form select,.form textarea{width:100%;min-width:0;font:inherit;font-size:15.5px;font-weight:400;color:var(--ink);padding:12px 13px;border:1.5px solid var(--line);border-radius:10px;background:#fff}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--sign);outline-offset:0;border-color:transparent}
.form button{border:0;background:var(--brick);color:#fff;font:700 17px Figtree;padding:16px;border-radius:10px;cursor:pointer;box-shadow:0 3px 0 #7c2f20}.form button:hover{background:var(--brick2)}
.fnote{margin:0;text-align:center;font-size:14px;color:var(--mut)}.fnote a{color:var(--brick);font-weight:700}
.done{text-align:center;padding:26px 8px}.done h3{font-family:var(--display);font-weight:var(--dw);font-size:32px}
/* footer */
.ftr{background:#0f1729;color:#aab4c6;padding:60px 0 36px;font-size:15px}
.ftr__g{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px}
.brand--ftr .brand__t b{color:#fff}.brand--ftr .brand__t span{color:#aab4c6}
.ftr h4{color:#fff;font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin:6px 0 12px}
.ftr__g>div>a:not(.brand){display:block;padding:3px 0;text-decoration:none}.ftr a:hover{color:#fff}
.ftr__logo{display:block;width:210px;background:#fefdf9;border-radius:14px;padding:10px 14px;margin-bottom:16px}.ftr__logo img{display:block;width:100%;height:auto}
.ftr__ph{color:#f1b8a6!important;font-weight:700;font-size:18px;text-decoration:none}
.ftr__bar{margin-top:36px;font-size:13px;opacity:.7}
.mcall{display:none}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}.nav{display:none}}
@media(max-width:860px){
 .wrap{padding:0 18px}.topline__in span{display:none}.topline__in{justify-content:flex-end}
 .brand__t b{font-size:19px}.brand__t span{font-size:11px}.mark{width:44px;height:44px}.hdr__cta{padding:9px 13px;font-size:14.5px}
 .hero{padding:34px 0 44px}.hero__g,.phero__g,.why,.wett,.body,.faqw,.book__g,.shead{grid-template-columns:1fr;gap:28px}
 .collage{height:380px}.sign--float{left:auto;right:4%;bottom:-8px}
 .sec{padding:60px 0}.strip{grid-template-columns:1fr}.strip>div{border-right:0;border-bottom:1px dashed var(--line)}
 .why__list,.pgrid{grid-template-columns:1fr}.body__side{position:static}.form .r,.form .r3{grid-template-columns:1fr}
 .ftr__g{grid-template-columns:1fr 1fr}.ftr{padding-bottom:100px}
 .mcall{display:flex;align-items:center;justify-content:center;gap:8px;position:fixed;left:12px;right:12px;bottom:12px;z-index:30;padding:14px;border-radius:12px;background:var(--brick);color:#fff;font-weight:700;text-decoration:none;box-shadow:0 10px 30px -8px #0008}
}
@media(max-width:560px){.cards{grid-template-columns:1fr 1fr;gap:10px}.pcard__img{aspect-ratio:1/1}.pcard__b{padding:12px 12px 12px;gap:4px}.pcard h3{font-size:15px;padding-right:0}.pcard p{display:none}.pcard__ic{width:34px;height:34px;top:-18px;right:8px;border-radius:9px}.pcard__ic .ic{width:18px;height:18px}.pcard__p{flex-wrap:wrap;gap:2px 6px}.pcard__p .ic{display:none}.pcard--cta{grid-column:1/-1}.brand__t span{display:none}.ftr__g{grid-template-columns:1fr}.sign{min-width:0}.sign__name{font-size:17px;padding:8px 14px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.pcard--cta{background:var(--navy);color:#fff;justify-content:center;padding:26px;border-color:var(--navy)}
.pcard--cta h3{color:#fff;font-family:var(--display);font-weight:var(--dw);font-size:26px;padding:0}.pcard--cta p{color:#c9d2e2;flex:0;margin:6px 0 14px}.pcard--cta span{display:inline-block;background:var(--brick);border-radius:10px;padding:12px 18px;font-weight:700;align-self:flex-start}
