

/* Town pages (Paris, Ontario and Leamington, Ontario). Shared editorial pieces come from interior.css and web-services.css; the project cards reuse the homepage's v4-project-card. */
.lp-hero-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:5%;align-items:end;margin-top:8px}
.lp-hero .ip-title{max-width:15ch;font-size:clamp(50px,6.6vw,96px)}
.lp-hero-aside .ip-lead{margin-top:0}
.lp-connection{background:var(--blue-wash);margin:0 16px;border-radius:24px}
.lp-connection-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:8%;align-items:center}
.lp-person{margin:0;display:grid;justify-items:start;gap:18px}
.lp-person img{width:min(100%,250px);height:auto;aspect-ratio:500/546;object-fit:cover;border-radius:120px 120px 10px 10px;box-shadow:0 20px 40px #2c395722}
.lp-person figcaption p{font-size:14px;font-weight:700;line-height:1.5}
.lp-person figcaption span{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.lp-connection-copy .ip-copy+.ip-copy{margin-top:18px}
.lp-work-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:end;margin-bottom:42px}
.lp-work-heading>.ip-copy{max-width:32em;padding-bottom:4px}
/* Newest project full width, then the rest three to a row. Two or four smaller cards sit two to a row; five sit three, then two. */
.lp-work-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:52px 30px}
.lp-work .v4-project-card{grid-column:span 2;width:auto;max-width:none;padding-top:0}
.lp-work .v4-project-card:first-child{grid-column:1/-1}
@media(min-width:561px){.lp-work .v4-project-card:first-child:nth-last-child(3)~.v4-project-card,.lp-work .v4-project-card:first-child:nth-last-child(5)~.v4-project-card,.lp-work .v4-project-card:first-child:nth-last-child(6)~.v4-project-card:nth-last-child(-n+2){grid-column:span 3}}
.lp-work .v4-project-card .v4-project-visual{aspect-ratio:16/10}
.lp-work .v4-project-card:first-child .v4-project-visual{aspect-ratio:16/8.8}
.lp-work .v4-project-card:first-child .v4-project-caption h3{font-size:25px}
.lp-work .v4-project-card:nth-child(n+8){display:none}
.lp-more-work{display:flex;align-items:center;gap:35px;flex-wrap:wrap;margin-top:40px;padding-top:25px;border-top:1px solid var(--line)}
.lp-more-work>p{font-size:12px;color:var(--muted);margin-right:auto}
.lp-more-work .ddc-link{font-size:13px}
.lp-services-intro{max-width:880px;margin-bottom:55px}
.lp-services-intro>.ip-copy{margin-top:26px;max-width:44em}
.lp-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px}
.lp-services-grid article{border-top:1px solid var(--night-line);padding:30px 0 34px;display:flex;flex-direction:column;align-items:flex-start}
.lp-services-grid .ip-eyebrow{margin-bottom:14px;font-size:9px}
.lp-services-grid h3{font-size:24px;font-weight:600;letter-spacing:-.035em;line-height:1.3;margin-bottom:14px}
.lp-services-grid p{font-size:15px;line-height:1.85;color:var(--night-muted)}
.lp-services-grid .ddc-link{margin-top:auto;padding-top:22px;font-size:12px;border-color:#7c829c}
.lp-services-grid .ddc-link+.ddc-link{margin-top:6px;padding-top:11px}
/* Good to know: the nearby places under the heading (question cards come from faq-cards.css). */
.lp-faq{padding-top:24px}
.lp-places{margin-top:38px}
.lp-places>p{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.lp-places ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.lp-places li{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;line-height:1.2;padding:9px 14px 9px 12px;border-radius:100px;background:var(--blue-wash);color:var(--blue-strong)}
.lp-places li:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55}
.lp-places li:first-child{background:var(--blue-strong);color:#fff}
/* Let's talk: a blue panel with the button and phone number kept together. */
.lp-cta{position:relative;overflow:hidden;margin:0 16px 16px;border-radius:24px;background:var(--blue-strong);color:#fff;isolation:isolate}
.lp-cta-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:36px 60px;padding:92px 0 96px}
.lp-cta .ip-eyebrow{color:#ffffffc2}
.lp-cta .ip-heading{color:#fff;max-width:15ch}
.lp-cta .ip-heading span{color:var(--cyan-light)}
.lp-cta-actions{display:grid;justify-items:start;gap:20px;padding-bottom:10px}
.lp-cta .lp-cta-pill{margin:0;background:#fff;border-color:#fff;color:var(--blue-strong)}
.lp-cta .lp-cta-pill:hover{background:var(--blue-wash);border-color:var(--blue-wash);color:var(--blue-hover)}
.lp-cta-phone{font-size:14px;line-height:1.7;color:#ffffffcc;max-width:19em}
.lp-cta-phone a{display:inline-block;margin-top:2px;color:#fff;font-size:19px;font-weight:600;letter-spacing:-.01em;border-bottom:1px solid #ffffff80}
.lp-cta-art{position:absolute;inset:0;z-index:0;pointer-events:none}
.lp-cta-ring{position:absolute;right:-180px;top:-300px;width:660px;height:660px;border:1px solid #ffffff2e;border-radius:50%}
.lp-cta-ring:nth-child(2){right:-90px;top:-210px;width:480px;height:480px;border-color:#ffffff24}
.lp-cta-ring:nth-child(3){right:0;top:-120px;width:300px;height:300px;border-color:#ffffff1c}
.lp-cta-art i{position:absolute;width:18px;height:18px;right:10%;top:17%;background:var(--cyan)}
.lp-cta-art i:nth-of-type(2){right:calc(10% - 18px);top:calc(17% + 18px);background:var(--blue-light)}
.lp-cta-art i:nth-of-type(3){width:10px;height:10px;right:calc(10% + 44px);top:calc(17% - 24px);background:#fff;opacity:.85}
@media(max-width:1100px){.lp-services-grid{gap:0 28px}.lp-services-grid h3{font-size:22px}}
@media(max-width:800px){.lp-cta{margin:0 8px 8px;border-radius:18px}.lp-cta-inner{grid-template-columns:1fr;align-items:start;padding:64px 0 68px;width:calc(100% - 40px)}.lp-cta-actions{padding-bottom:0}.lp-cta-art i{right:13%;top:12%}.lp-cta-art i:nth-of-type(2){right:calc(13% - 18px);top:calc(12% + 18px)}.lp-cta-art i:nth-of-type(3){right:calc(13% + 40px);top:calc(12% - 20px)}.lp-faq{padding-top:12px}.lp-places{margin-top:28px}.lp-hero-row{grid-template-columns:1fr;gap:28px}.lp-connection{margin:0 8px;border-radius:18px}.lp-connection-grid{grid-template-columns:1fr;gap:34px}.lp-person img{width:150px}.lp-work-heading{grid-template-columns:1fr;gap:25px}.lp-more-work{gap:20px}.lp-more-work>p{width:100%}.lp-services-grid{grid-template-columns:1fr 1fr}.lp-services-intro{margin-bottom:30px}}
@media(max-width:560px){.lp-work-list{grid-template-columns:1fr;gap:24px}.lp-work .lp-work-list>.v4-project-card{grid-column:auto}.lp-places li{font-size:12px;padding:9px 13px 9px 11px}.lp-cta-inner{padding:54px 0 58px}.lp-cta-actions{justify-items:stretch}.lp-cta .lp-cta-pill{width:100%}.lp-cta-ring{right:-260px;top:-330px}.lp-cta-ring:nth-child(2){right:-170px;top:-240px}.lp-cta-ring:nth-child(3){right:-80px;top:-150px}.lp-work .v4-project-card:first-child .v4-project-visual{aspect-ratio:1.25}.lp-work .v4-project-card:first-child .v4-project-caption h3{font-size:21px}.lp-work .v4-project-card:nth-child(n+2){display:grid;grid-template-columns:42% minmax(0,1fr);gap:16px;align-items:center}.lp-work .v4-project-card:nth-child(n+2) .v4-project-caption{padding-top:0}.lp-work .v4-project-card:nth-child(n+2) .v4-project-caption h3{font-size:15px}.lp-work .v4-project-card:nth-child(n+8){display:none}.lp-services-grid{grid-template-columns:1fr}.lp-services-grid article{padding:24px 0 28px}.lp-services-grid h3{font-size:21px}.lp-services-grid p{font-size:14px}.lp-person img{width:130px}}