.services-nav { position: static; }
.services-nav > .nav-link.dropdown-toggle::after { margin-left: .08em; vertical-align: .12em; }
@media (min-width: 992px) {
  .services-menu-group h2 a { justify-content: flex-start !important; gap: .6rem; }
  .services-menu-group h2 a i { margin-left: 0; }
  .services-nav > .services-menu { width: 265px !important; }
  .services-menu-group h2 a { display: grid !important; grid-template-columns: 205px 14px; column-gap: 0; justify-content: start !important; white-space: nowrap; }
  .services-menu-group h2 a i { justify-self: end; }
}
.services-menu {
  left: auto;
  right: max(1rem, calc((100vw - 1320px) / 2));
  width: min(760px, calc(100vw - 2rem));
  max-height: min(72vh, 620px);
  overflow-y: auto;
  padding: 1rem;
  border: 1px solid #e5eaf0;
  border-radius: 12px;
  box-shadow: 0 14px 36px rgba(7, 29, 54, .16);
}
.services-menu-heading { padding: 0 .5rem .75rem; margin-bottom: .75rem; border-bottom: 1px solid #e5eaf0; font-weight: 800; }
.services-menu-heading a { color: var(--red); }
.services-menu-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.services-menu-group h2 { margin: 0 0 .45rem; font: 800 .86rem Inter, sans-serif; }
.services-menu-group h2 a { color: var(--navy); }
.services-menu-link { display: block; padding: .26rem .4rem; border-radius: 5px; color: #526273; font-size: .79rem; line-height: 1.35; }
.services-menu a:hover, .services-menu a:focus { color: var(--red); background: #f5f7fa; }
@media (min-width: 992px) {
  .services-nav:hover > .services-menu,
  .services-nav:focus-within > .services-menu { display: block; }
}
@media (max-width: 991.98px) {
  .services-menu { position: static !important; width: 100%; max-height: 55vh; margin: .25rem 0 .75rem; box-shadow: none; }
  .services-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .services-menu-grid { grid-template-columns: 1fr; }
}
.service-detail-hero {
  padding: 1.2rem 0 4.5rem;
  color: #fff;
  background: linear-gradient(90deg, rgba(7, 29, 54, .96), rgba(7, 29, 54, .72)), url('../images/service-support.jpg') center 43% / cover;
}
.service-detail-hero .breadcrumb-item,
.service-detail-hero .breadcrumb-item a { color: #dce6ef; }
.service-detail-hero .breadcrumb-item.active { color: #fff; }
.service-detail-intro { max-width: 760px; padding-top: 2.2rem; }
.service-detail-kicker { display: inline-flex; align-items: center; gap: .5rem; margin-bottom: .85rem; color: #f0cc72; font-size: .82rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.service-detail-intro h1 { max-width: 700px; margin-bottom: .8rem; color: #fff; font-size: clamp(2.25rem, 5vw, 3.7rem); }
.service-detail-intro > p { max-width: 650px; margin-bottom: 1.35rem; color: #edf2f7; font-size: 1.05rem; }
.service-detail-section { background: #f3f5f8; }
.service-detail-lead { color: #45586b; font-size: 1.15rem; }
.service-process-card { height: 100%; padding: 1.25rem; border: 1px solid #e3e9ef; border-radius: 12px; background: #fff; }
.service-process-card > span { display: grid; width: 36px; height: 36px; margin-bottom: .9rem; place-items: center; border-radius: 50%; background: #e9f0f6; color: var(--red); font-size: .8rem; font-weight: 800; }
.service-process-card h3 { color: var(--navy); font-size: 1rem; font-weight: 800; }
.service-process-card p { margin-bottom: 0; color: #607080; font-size: .88rem; }
.service-note { display: flex; gap: .75rem; padding: 1rem; border-left: 3px solid var(--gold); border-radius: 8px; background: #fff; color: #586879; font-size: .88rem; }
.service-note i { color: var(--blue); }
.service-contact-card { position: sticky; top: 110px; padding: 1.5rem; border: 1px solid #e5eaf0; border-radius: 14px; background: #fff; box-shadow: 0 10px 30px rgba(7, 29, 54, .08); }
.service-contact-card h2 { font-size: 1.55rem; }
.service-contact-card > p:not(.eyebrow) { color: #607080; }
.service-contact-meta { display: flex; gap: .5rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #e5eaf0; color: #607080; font-size: .82rem; }
.service-contact-meta i { color: var(--red); }
.related-service-card { position: relative; display: flex; height: 100%; flex-direction: column; gap: .35rem; padding: 1rem 2rem 1rem 1rem; border: 1px solid #e3e9ef; border-radius: 10px; background: #fff; color: var(--navy); }
.related-service-card span { color: #8b6b12; font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.related-service-card strong { font-size: .95rem; }
.related-service-card i { position: absolute; top: 1rem; right: 1rem; color: var(--red); }
.related-service-card:hover { border-color: var(--blue); color: var(--red); transform: translateY(-2px); }
.process-section { padding-top: 80px !important; }
@media (max-width: 991.98px) { .process-section { padding-top: 60px !important; } }
@media (max-width: 575.98px) { .process-section { padding-top: 50px !important; } }
.services-directory { background: #f2f5f8; }
.service-category-block { --category-accent: var(--red); --category-tint: #fff0f2; scroll-margin-top: 108px; margin-bottom: 3.25rem; padding: clamp(1.2rem, 3vw, 2.25rem); border: 1px solid #e6ebf0; border-radius: 20px; background: #fff; box-shadow: 0 12px 35px rgba(7, 29, 54, .055); }
.service-category-block:last-child { margin-bottom: 0; }
.service-category-transport { --category-accent: #147c80; --category-tint: #e8f6f4; }
.service-category-cremation { --category-accent: #a16a11; --category-tint: #fbf3e3; }
.service-category-rituals { --category-accent: #70509b; --category-tint: #f2edf8; }
.service-category-documentation { --category-accent: #315c98; --category-tint: #edf3fb; }
.service-category-heading { display: flex; align-items: flex-start; gap: 1.15rem; margin-bottom: 1.5rem; }
.service-category-icon { display: grid; width: 66px; height: 66px; flex: 0 0 66px; place-items: center; border-radius: 17px; background: var(--category-tint); color: var(--category-accent); font-size: 1.8rem; }
.service-category-copy .eyebrow { margin-bottom: .35rem; color: var(--category-accent); }
.service-category-copy .eyebrow span { color: #748292; font-weight: 600; letter-spacing: 0; text-transform: none; }
.service-category-copy h2 { margin-bottom: .4rem; }
.service-category-copy > p:last-child { max-width: 760px; margin-bottom: 0; color: #607080; }
.service-directory-card { position: relative; display: flex; min-height: 390px; height: 100%; flex-direction: column; padding: 1.1rem 1.25rem 1.25rem; overflow: hidden; border: 1px solid #e5eaf0; border-radius: 14px; background: #fff; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.service-directory-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--category-accent) 40%, white); box-shadow: 0 12px 24px rgba(7, 29, 54, .1); }
.service-directory-image { display: block; width: calc(100% + 2.5rem); height: 175px; flex: 0 0 175px; margin: -1.1rem -1.25rem 1rem; object-fit: cover; object-position: center 48%; background: var(--category-tint); }
.service-directory-card-icon { display: grid; width: 42px; height: 42px; margin-bottom: 1rem; place-items: center; border-radius: 11px; background: var(--category-tint); color: var(--category-accent); font-size: 1.2rem; }
.service-directory-card h3 { margin-bottom: .45rem; color: var(--navy); font-size: 1.06rem; font-weight: 800; }
.service-directory-card > p { flex: 1; margin-bottom: 1.15rem; color: #647383; font-size: .9rem; line-height: 1.55; }
.service-directory-actions { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding-top: .8rem; border-top: 1px solid #edf0f3; }
.service-directory-actions a { color: var(--category-accent); font-size: .84rem; font-weight: 800; }
.service-directory-actions a:hover { color: var(--red); }
.service-directory-actions .service-enquire-link { padding: .43rem .75rem; border-radius: 7px; background: var(--category-tint); }
.service-directory-card--photo { min-height: 405px; padding: 0; border: 0; background: var(--navy); }
.service-directory-card--photo::before { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(5, 21, 38, .08) 0%, rgba(5, 21, 38, .48) 42%, rgba(5, 21, 38, .96) 100%); content: ''; }
.service-directory-card--photo:hover { border-color: transparent; }
.service-directory-card--photo .service-directory-image { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; margin: 0; object-fit: cover; transition: transform .45s ease; }
.service-directory-card--photo:hover .service-directory-image { transform: scale(1.055); }
.service-directory-content { position: relative; z-index: 2; display: flex; flex: 1; flex-direction: column; justify-content: flex-end; padding: 1.25rem; color: #fff; }
.service-directory-card--photo .service-directory-card-icon { background: rgba(255, 255, 255, .18); color: #fff; backdrop-filter: blur(6px); }
.service-directory-card--photo h3 { color: #fff; font-size: 1.2rem; }
.service-directory-card--photo > .service-directory-content > p { margin-bottom: 1.1rem; color: rgba(255, 255, 255, .88); font-size: .9rem; line-height: 1.55; }
.service-directory-card--photo .service-directory-actions { border-color: rgba(255, 255, 255, .25); }
.service-directory-card--photo .service-directory-actions a { color: #fff; }
.service-directory-card--photo .service-directory-actions a:hover { color: #f6d574; }
.service-directory-card--photo .service-directory-actions .service-enquire-link { padding: .48rem .8rem; border: 1px solid rgba(255, 255, 255, .62); border-radius: 7px; background: rgba(255, 255, 255, .12); }
@media (max-width: 575.98px) {
  .service-category-block { padding: 1rem; border-radius: 15px; margin-bottom: 2rem; }
  .service-category-heading { gap: .8rem; }
  .service-category-icon { width: 50px; height: 50px; flex-basis: 50px; border-radius: 13px; font-size: 1.4rem; }
  .service-category-copy h2 { font-size: 1.55rem; }
  .service-directory-card { min-height: 0; }
  .service-directory-image { height: 185px; flex-basis: 185px; }
}

/* Two-level service navigation: categories first, service links on hover */
@media(min-width:992px){.services-menu{width:290px;padding:.6rem;overflow:visible}.services-menu-grid{display:block}.services-menu-group{position:relative;border-bottom:1px solid #edf0f4}.services-menu-group:last-child{border-bottom:0}.services-menu-group h2{margin:0}.services-menu-group h2 a{display:flex;align-items:center;justify-content:space-between;padding:.65rem .55rem;border-radius:6px;color:var(--navy)}.services-menu-group h2 a i{font-size:.7rem;color:#718096}.services-submenu{position:absolute;top:-.45rem;right:calc(100% - 4px);display:none;width:275px;max-height:min(65vh,520px);overflow-y:auto;padding:.65rem;border:1px solid #e5eaf0;border-radius:10px;background:#fff;box-shadow:0 12px 32px rgba(7,29,54,.16)}.services-menu-group:hover>.services-submenu,.services-menu-group:focus-within>.services-submenu{display:block}.services-menu-group:hover>h2 a,.services-menu-group:focus-within>h2 a{background:#f5f7fa;color:var(--red)}.services-submenu .services-menu-link{padding:.45rem .55rem}}
@media(max-width:991.98px){.services-menu-grid{display:block}.services-menu-group{padding:.4rem 0;border-bottom:1px solid #edf0f4}.services-menu-group h2{margin:0}.services-menu-group h2 a{display:flex;align-items:center;justify-content:space-between;padding:.35rem .4rem}.services-menu-group h2 a i{display:none}.services-submenu{display:block;padding-left:.55rem}.services-submenu .services-menu-link{padding:.3rem .4rem}}
@media(min-width:992px){.services-menu{width:min(390px,calc(100vw - 2rem));max-height:min(72vh,620px);overflow-y:auto;overflow-x:hidden}.services-menu-group>.services-submenu{position:static;display:none;width:auto;max-height:none;overflow:visible;margin:0 .25rem .45rem;padding:.25rem .35rem .35rem 1rem;border:0;border-left:2px solid #e8edf2;border-radius:0;background:transparent;box-shadow:none}.services-menu-group:hover>.services-submenu,.services-menu-group:focus-within>.services-submenu{display:block}.services-menu-group h2 a i{transform:rotate(-90deg)}.services-menu-group:hover h2 a i,.services-menu-group:focus-within h2 a i{transform:rotate(0)}}
@media(min-width:992px){.services-nav{position:relative!important}.services-nav>.services-menu{left:50%!important;right:auto!important;transform:translateX(-50%)!important}}
@media(min-width:992px){.services-nav>.services-menu{overflow:visible!important}.services-menu-group{position:relative}.services-menu-group>.services-submenu{position:absolute;top:0;left:calc(100% - 3px);right:auto;display:none;width:275px;max-height:min(65vh,520px);overflow-y:auto;margin:0;padding:.65rem;border:1px solid #e5eaf0;border-radius:10px;background:#fff;box-shadow:0 12px 32px rgba(7,29,54,.16)}.services-menu-group:hover>.services-submenu,.services-menu-group:focus-within>.services-submenu{display:block}}
@media(min-width:992px){.services-submenu .services-menu-link{padding:.48rem .6rem;color:#26384b;font-size:.9rem;font-weight:600;line-height:1.45}.services-submenu .services-menu-link:hover,.services-submenu .services-menu-link:focus{color:#a91429;background:#f1f4f7}.services-menu-group h2 a{font-size:.94rem;font-weight:800}}
@media(min-width:992px){.services-menu-group h2 a i,.services-menu-group:hover h2 a i,.services-menu-group:focus-within h2 a i{transform:none!important}}

/* Keep category arrows in one narrow column and remove excess menu width. */
@media (min-width: 992px) {
  .services-nav > .services-menu { width: 310px !important; padding: .45rem !important; }
  .services-menu-group h2 a {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 14px;
    align-items: center;
    column-gap: .25rem;
    justify-content: initial !important;
    white-space: nowrap;
  }
  .services-menu-group h2 a i { justify-self: center; margin: 0 !important; }
}
.service-category-ambulance .service-directory-grid>div:last-child{margin-left:auto;margin-right:auto}.service-category-ambulance .service-directory-grid>div:last-child .service-directory-image{object-position:center center}
.service-category-cremation .service-directory-grid>div:last-child{margin-left:auto;margin-right:auto}.service-category-cremation .service-directory-grid>div:last-child .service-directory-image{object-position:center center}
.service-category-rituals .service-directory-grid>div:last-child{margin-left:auto;margin-right:auto}.service-category-rituals .service-directory-grid>div:last-child .service-directory-image{object-position:center center}
.ambulance-transfer-guide{margin-top:2.5rem;padding:clamp(1.25rem,3vw,2rem);border-radius:16px;background:#f4f7fa}.ambulance-transfer-heading{max-width:760px;margin:0 auto 1.5rem;text-align:center}.ambulance-transfer-heading .eyebrow{margin-bottom:.45rem;color:#a16a11;font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.ambulance-transfer-heading h3{margin-bottom:.65rem;color:#0a2540;font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700}.ambulance-transfer-heading>p:last-child{margin:0;color:#53657a;line-height:1.7}.ambulance-transfer-card{height:100%;padding:1.25rem;border:1px solid #e1e8ef;border-radius:13px;background:#fff}.ambulance-transfer-icon{display:grid;width:42px;height:42px;margin-bottom:.85rem;place-items:center;border-radius:11px;background:#e9f1f8;color:#16416a;font-size:1.2rem}.ambulance-transfer-card h4{margin-bottom:.5rem;color:#0a2540;font-size:1rem;font-weight:800}.ambulance-transfer-card p{margin:0;color:#53657a;font-size:.92rem;line-height:1.65}.ambulance-transfer-cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.25rem;color:#bd1930;font-size:.9rem;font-weight:800;text-decoration:none}.ambulance-transfer-cta:hover{color:#8f1022}
.ambulance-transfer-section{background:#f5f7fa}.ambulance-transfer-section .ambulance-transfer-heading h2{margin-bottom:.7rem;color:#0a2540;font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700}.ambulance-transfer-section .ambulance-transfer-heading .eyebrow{color:#a16a11}.ambulance-transfer-section .ambulance-transfer-card{padding:2rem 1.35rem 1.65rem;text-align:center;border:1px solid #e4eaf0;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(7,29,54,.055)}.ambulance-transfer-section .ambulance-transfer-icon{width:112px;height:112px;margin:0 auto 1.4rem;clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);border:0;border-radius:0;background:#f4f7fa;color:#bf4334;font-size:2.2rem;box-shadow:none}.ambulance-transfer-section .ambulance-transfer-icon i{filter:drop-shadow(0 1px 1px rgba(0,0,0,.08))}.ambulance-transfer-section .ambulance-transfer-card h3{margin-bottom:.8rem;color:#174c82;font-size:1.2rem;font-weight:800}.ambulance-transfer-section .ambulance-transfer-card p{max-width:36rem;margin:0 auto;color:#29394b;font-size:.98rem;line-height:1.7}.ambulance-transfer-section .ambulance-transfer-cta{margin-top:1.5rem}
.home-services-section{padding-bottom:2.25rem!important}.ambulance-transfer-section{position:relative;padding-top:2rem!important}.ambulance-transfer-section::before{content:"";display:block;width:min(100%,1120px);height:1px;margin:0 auto 2rem;background:linear-gradient(90deg,transparent,#d8e0e8 12%,#d8e0e8 88%,transparent)}.ambulance-transfer-section .ambulance-transfer-heading{margin-bottom:1.25rem}
.ambulance-transfer-section+section.section.pt-0::before{content:"";display:block;width:min(100%,1120px);height:1px;margin:0 auto 2rem;background:linear-gradient(90deg,transparent,#d8e0e8 12%,#d8e0e8 88%,transparent)}
.process-section+.google-reviews-section::before{content:"";display:block;width:min(100%,1120px);height:2px;margin:0 auto 2.5rem;background:linear-gradient(90deg,transparent,#d8e0e8 12%,#b8c5d3 50%,#d8e0e8 88%,transparent)}

.service-detail-feature-image{display:block;width:100%;height:310px;margin:0 0 1.6rem;border-radius:14px;background:#e7edf2;object-fit:cover;box-shadow:0 10px 28px rgba(7,29,54,.1)}.service-detail-points{margin-top:.25rem}.service-detail-points .service-process-card{display:flex;align-items:center;gap:.85rem;padding:1rem}.service-detail-points .service-process-card>span{flex:0 0 36px;margin:0}.service-detail-points .service-process-card p{margin:0;color:#536273;font-size:.88rem;line-height:1.5}@media(max-width:575.98px){.service-detail-feature-image{height:220px}}


.service-explainer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.4rem 0}.service-explainer{padding:1.15rem 1.2rem;border:1px solid #e3e9ef;border-left:3px solid var(--gold);border-radius:11px;background:#fff}.service-explainer .eyebrow{margin-bottom:.45rem;color:#8b6b12;font-size:.7rem}.service-explainer>p:last-child{margin:0;color:#536273;font-size:.92rem;line-height:1.65}@media(max-width:575.98px){.service-explainer-grid{grid-template-columns:1fr}}


.service-directory-card--photo .service-directory-image--uncropped{object-fit:contain;object-position:center;background:#f3f5f7}.service-directory-card--photo:hover .service-directory-image--uncropped{transform:none}

.service-category-transport .service-directory-grid>div:last-child{margin-left:auto;margin-right:auto}
