/* Dedicated pages share the site's existing typography, colours and navigation. */
.page-intro{padding-bottom:3rem}.page-breadcrumb{display:flex;gap:.75rem;align-items:center;font-size:.8125rem;color:var(--muted);margin-bottom:3rem}.page-breadcrumb>a:hover{text-decoration:underline}.page-intro>.eyebrow{margin-bottom:1rem}.page-lead{font-size:clamp(1.125rem,2vw,1.5rem);color:var(--muted);max-width:47ch;margin-top:1.5rem}.service-page{padding-top:1rem}.service-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem 3rem}.service-detail{min-width:0;scroll-margin-top:2rem}.service-detail>img{width:100%;aspect-ratio:16/10;object-fit:cover}.service-detail-copy{padding-top:1.5rem}.service-detail h2{font-size:clamp(1.75rem,2.5vw,2.7rem)}.service-detail p{margin-top:1rem;max-width:50ch;color:var(--muted)}.service-detail .service-examples{font-size:.875rem;border-top:1px solid var(--line);padding-top:1rem;margin-bottom:1.3rem}.service-photo-note{margin-top:3rem;font-size:.8125rem;color:var(--muted)}.service-photo-note>.text-link{font-size:inherit}.contact .page-enquiry{border-color:var(--bone)}.site-header nav a[aria-current="page"]{border-bottom-color:currentColor} .home-header nav a[aria-current="page"]{border-bottom-color:currentColor}
@media(max-width:850px){.service-page-grid{gap:3rem 2rem}.page-intro{padding-top:3rem}.page-breadcrumb{margin-bottom:2rem}}
@media(max-width:600px){.service-page-grid{grid-template-columns:1fr;gap:3rem}.page-intro{padding-bottom:2rem}.service-page{padding-top:0}.service-detail-copy{padding-top:1.25rem}}

/* The homepage offers a brief introduction to each dedicated page. */
.home-preview{border-bottom:1px solid var(--line);padding-top:3.5rem;padding-bottom:3.5rem}.home-preview .eyebrow{font-size:.75rem;margin-bottom:.75rem}.overview-intro{max-width:45ch;margin-top:1.1rem;color:var(--muted);font-size:1.0625rem}.home-services{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,6rem);align-items:start}.overview-copy>.text-link{margin-top:1.5rem}.service-preview-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}.service-preview-list a{display:flex;justify-content:space-between;gap:.8rem;align-items:center;min-height:64px;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:1rem}.service-preview-list a:hover{opacity:.7}.service-preview-list a>span{flex-shrink:0}.home-projects .project-grid{margin-top:1.75rem;gap:1.5rem}.project-preview-empty{border-top:1px solid var(--line);padding-top:1.5rem}.project-preview-empty>p:last-child{color:var(--muted);max-width:48ch}.home-projects .project-tile{aspect-ratio:2/1;min-height:190px}.home-projects .project-tile h3{font-size:clamp(1.7rem,2.8vw,2.7rem);margin:.4rem 0 .75rem}.home-projects .project-tile>div{bottom:1.5rem;left:1.5rem;right:1.5rem}.home-projects #project-error{padding:1rem 0 0}.home-testimonials .testimonials-layout{margin-top:2rem;grid-template-columns:minmax(190px,.65fr) minmax(0,1.7fr);gap:3rem}.home-testimonials .rating-summary{padding-top:0}.home-testimonials .rating-summary-label{margin:0 0 .75rem}.home-testimonials .rating-value{font-size:4.5rem}.home-testimonials .reviews-carousel{padding:1.5rem 2rem}.home-testimonials .review-content{min-height:0}.home-testimonials .testimonial-card .review-quote{font-size:clamp(1.125rem,1.7vw,1.4rem);margin-top:1.25rem}.home-testimonials .reviewer-avatar{width:48px;height:48px;flex-basis:48px}.home-testimonials .reviewer-name{font-size:1rem}.home-testimonials .testimonial-card-top{flex-wrap:wrap;gap:.75rem}.home-testimonials .testimonial-card-top>.rating-stars,.home-testimonials .review-unrated{margin:0;padding:0}
@media(max-width:1000px){.home-services{grid-template-columns:1fr;gap:1.5rem}.home-testimonials .testimonials-layout{gap:2rem}.home-testimonials .reviews-carousel{padding:1.5rem}}
@media(max-width:600px){.home-preview{padding-top:2.75rem;padding-bottom:2.75rem}.service-preview-list{grid-template-columns:1fr;gap:0}.service-preview-list a{min-height:48px}.home-projects .project-grid{gap:1rem}.home-projects .project-tile{aspect-ratio:1.7;min-height:180px}.home-testimonials .testimonials-layout{grid-template-columns:1fr;gap:1.5rem}.home-testimonials .rating-summary{column-gap:1.25rem}.home-testimonials .rating-value{grid-row:2/4;font-size:3.75rem}.home-testimonials .rating-summary [data-average-stars]{grid-row:2}.home-testimonials .rating-summary-caption{grid-row:3}.home-testimonials .rating-summary-label{margin:0 0 1rem}.home-testimonials .testimonial-card-top>.rating-stars,.home-testimonials .review-unrated{margin:.75rem 0 0}}
