.service-page h1 { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.12; margin: .6rem 0 1.5rem; }
.service-page h2 { font-size: clamp(1.3rem, 2.2vw, 1.8rem); line-height: 1.25; }
.service-page p { line-height: 1.85; color: #d7e1dc; }
.service-breadcrumb { font-size: .9rem; color: #b9c8c0; margin-bottom: 2rem; }
.service-breadcrumb a { text-decoration: underline; text-underline-offset: .2em; }
.service-hero { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 3rem; }
.service-hero figure { margin: 0; }
.service-hero img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: cover; border-radius: 1.3rem; }
.service-hero figcaption { color: #aabbb0; font-size: .8rem; margin-top: .7rem; }
.service-intro { font-size: 1.1rem; margin-bottom: 1.5rem; }
.service-body { display: grid; grid-template-columns: minmax(0, 2fr) minmax(250px, 1fr); gap: 3rem; margin-top: 3rem; align-items: start; }
.service-copy section { margin-bottom: 2.5rem; }
.service-copy p { margin-top: 1rem; }
.service-request { display: grid; gap: 1rem; }
.service-related { border-top: 1px solid #314339; padding-top: 2rem; margin-top: 2rem; }
.service-links { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.service-faq details { border-bottom: 1px solid #314339; padding: 1rem 0; }
.service-faq summary { cursor: pointer; font-weight: 600; padding: .4rem 0; }
.service-faq details p { margin: .7rem 0; }
.service-catalog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; margin-top: 2rem; }
.service-tile { overflow: hidden; padding: 0; display: flex; flex-direction: column; }
.service-tile img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; display: block; }
.service-tile-content { padding: 1.4rem; display: flex; flex-direction: column; gap: 1rem; flex: 1; }
.service-tile-content .btn { margin-top: auto; align-self: start; }
.service-page a:focus-visible, .service-page summary:focus-visible { outline: 3px solid #b8e15b; outline-offset: 4px; }
.service-home-links { margin-top: 1.4rem; }
.facebook-embed-panel[hidden] { display: none; }
.facebook-toggle { margin: 1rem 0; }
@media (max-width: 900px) { .service-catalog { grid-template-columns: repeat(2, minmax(0,1fr)); } .service-hero { gap: 1.5rem; } }
@media (max-width: 640px) { .service-hero, .service-body, .service-catalog { grid-template-columns: 1fr; } .service-body { gap: 1rem; } .service-hero { gap: 2rem; } .service-page { overflow-wrap: anywhere; } }


/* Home: five service destinations and one project enquiry, without JS. */
.home-services { scroll-margin-top: 6rem; }
.home-services-heading { max-width: 760px; margin-bottom: 2rem; }
.home-services-eyebrow { color: #b8dc76; font-size: .8rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.home-services h2 { font-size: clamp(1.8rem, 3.6vw, 2.7rem); line-height: 1.15; margin: .7rem 0 1rem; color: #f4f7ef; }
.home-services p { line-height: 1.65; }
.home-services-heading > p:last-child, .home-services-audience { color: #c6d4c9; }
.home-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.home-service-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #38513e; border-radius: 18px; background: #142219; color: #f4f7ef; transition: border-color .2s, transform .2s; }
.home-service-card img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.home-service-copy { display: flex; flex-direction: column; flex: 1; padding: 1.35rem; }
.home-services h3 { font-size: 1.3rem; line-height: 1.3; margin: 0; }
.home-service-copy p { color: #d2ded4; margin: .75rem 0 1.35rem; }
.home-service-link { display: flex; justify-content: space-between; gap: .5rem; margin-top: auto; color: #c4e887; font-weight: 650; text-decoration: underline; text-underline-offset: .25em; }
.home-service-card:hover { border-color: #b8dc76; transform: translateY(-3px); }
.home-services a:focus-visible { outline: 3px solid #d1f593; outline-offset: 5px; }
.home-service-enquiry { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 1.75rem; border: 1px solid #8aab60; border-radius: 18px; background: #e7edda; color: #182c1e; }
.home-service-enquiry .home-services-eyebrow { color: #39552e; }
.home-service-enquiry .btn-primary { background: #244b32; border-color: #244b32; color: #fff; text-align: center; min-height: 44px; }
.home-service-secondary { color: #244b32; text-decoration: underline; text-underline-offset: .2em; padding: .85rem 0; }
.home-service-enquiry a:focus-visible { outline-color: #244b32; }
.home-services-audience { margin: 1.5rem 0 0; max-width: 850px; font-size: .95rem; }
@media (max-width: 900px) { .home-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 580px) { .home-services-grid { grid-template-columns: 1fr; } .home-service-copy { padding: 1.2rem; } }
@media (prefers-reduced-motion: reduce) { .home-service-card { transition: none; } .home-service-card:hover { transform: none; } }
