.catalogue-hero{background:linear-gradient(180deg,#fff 0%,var(--mist) 100%);border-bottom:1px solid var(--stone)}
.catalogue-hero>.shell{padding:76px 56px 64px}
.catalogue-hero h1{font-size:clamp(42px,6vw,72px);line-height:1.06;letter-spacing:-.015em;max-width:900px;margin:0 0 24px}
.catalogue-hero .lede{max-width:820px}
.service-note{max-width:760px;color:var(--muted);margin:18px 0 0}
.service-directory{background:#fff}
.service-jump{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;margin-top:28px;border-top:1px solid var(--line)}
.service-jump a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-weight:800;text-decoration:none}
.service-jump a:hover{text-decoration:underline}
.family-head{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:52px;align-items:start;margin-bottom:32px}
.family-head .eyebrow{margin-bottom:8px}
.family-head h2{margin-bottom:0}
.family-intro{font-size:19px;line-height:1.55;color:#31404A;max-width:650px;margin:0}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;border-top:1px solid var(--line)}
.service-entry{padding:24px 0 26px;border-bottom:1px solid var(--line);min-width:0}
.service-entry h3{margin:0 0 9px;font-size:21px;line-height:1.25}

.service-entry h3 a{text-decoration:none}
.service-entry h3 a:hover{text-decoration:underline}
.service-entry h3 a:focus-visible{outline:4px solid var(--claret);outline-offset:3px}
.service-entry p{margin:0;max-width:64ch;color:#3B4A54}
.service-entry .service-for{font-size:14px;color:var(--muted);margin:0 0 8px}
.back-top{margin:24px 0 0;font-size:14px;font-weight:800}
.back-top a{text-decoration:none}
.back-top a:hover{text-decoration:underline}
.nav-cta{border:2px solid #fff!important;padding:8px 12px!important;border-radius:2px}
.footer-identity{margin-top:8px!important}
@media(max-width:860px){.family-head{grid-template-columns:1fr;gap:12px}.service-list{grid-template-columns:1fr}.service-jump{grid-template-columns:1fr}}
@media(max-width:760px){.catalogue-hero>.shell{padding:48px 24px 50px}.catalogue-hero h1{font-size:clamp(38px,10vw,50px)}.family-intro{font-size:18px}.service-entry{padding:21px 0 23px}.service-entry h3{font-size:20px}.nav-cta{width:auto!important;text-align:left!important}}

.catalogue-breadcrumbs{font-size:14px;font-weight:800;color:var(--muted);margin:0 0 26px}
.catalogue-breadcrumbs a{text-decoration:none}.catalogue-breadcrumbs a:hover{text-decoration:underline}
.area-directory{border-top:1px solid var(--line);margin-top:30px}
.area-entry{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:52px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}
.area-entry h3{font-size:25px;margin:0}.area-entry h3 a{text-decoration:none}.area-entry h3 a:hover{text-decoration:underline}
.area-entry p{margin:0 0 12px;color:#3B4A54;max-width:64ch}
.area-entry .eyebrow{color:var(--claret);margin-bottom:8px}
@media(min-width:861px){
  .area-catalogue .service-list{display:block}
  .area-catalogue .service-entry{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;column-gap:56px;row-gap:4px;padding:26px 0}
  .area-catalogue .service-entry h3{grid-column:1;grid-row:1;margin:0;font-size:21px;line-height:1.25}
  .area-catalogue .service-entry .service-for{grid-column:1;grid-row:2;margin:4px 0 0}
  .area-catalogue .service-entry>p:not(.service-for){grid-column:2;grid-row:1 / span 2;align-self:start;margin:0;font-size:17px;line-height:1.6}
}
@media(max-width:860px){
  .area-entry{grid-template-columns:1fr;gap:8px}
  .area-catalogue .service-entry{display:block}
}


/* Catalogue colour rhythm */
.area-entry:nth-child(odd){background:#fff}
.area-entry:nth-child(even){background:var(--pale)}

@media(min-width:761px){
  .area-directory{margin-left:-56px;margin-right:-56px}
  .area-entry{padding-left:56px;padding-right:56px}
}

.area-catalogue-page .catalogue-hero{
  background:var(--pale);
}
.area-catalogue-page .area-catalogue{
  background:#fff;
}
.area-catalogue-page .area-catalogue .service-entry{
  background:#fff;
}

@media(max-width:760px){
  .area-directory{margin-left:-24px;margin-right:-24px}
  .area-entry{padding-left:24px;padding-right:24px}
}


/* Real clickable catalogue cards and service rows */
.area-entry,.service-entry{position:relative}
.area-entry{padding:0}
.area-card-link{
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);
  gap:52px;
  padding:28px 56px;
  color:inherit;
  text-decoration:none;
}
.area-card-link h3{font-size:25px;margin:0;color:var(--carol-blue)}
.area-card-link p{margin:0 0 12px;color:#3B4A54;max-width:64ch}
.area-card-link .eyebrow{color:var(--claret);margin-bottom:8px}
.service-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.area-cue,.service-cue{
  display:inline-block;
  margin-top:12px;
  font-weight:800;
  color:var(--carol-blue);
  border-bottom:2px solid var(--carol-blue);
  line-height:1.35;
}
.area-card-link:focus-visible{
  box-shadow:inset 4px 0 0 var(--claret);
}
.area-card-link:focus-visible,
.service-card-link:focus-visible{
  outline:4px solid var(--claret);
  outline-offset:-4px;
}
@media (hover:hover) and (pointer:fine){
  .area-card-link:hover{
    box-shadow:inset 4px 0 0 var(--claret);
  }
  .service-card-link:hover{
    background:var(--pale);
  }
}
@media(min-width:861px){
  .area-catalogue .service-entry{display:block;padding:0}
  .area-catalogue .service-card-link{
    display:grid;
    grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);
    grid-template-rows:auto 1fr auto;
    column-gap:56px;
    row-gap:4px;
    padding:26px 0;
  }
  .area-catalogue .service-card-link h3{grid-column:1;grid-row:1;margin:0;font-size:21px;line-height:1.25}
  .area-catalogue .service-card-link .service-for{grid-column:1;grid-row:2;margin:4px 0 0}
  .area-catalogue .service-card-link>p:not(.service-for){grid-column:2;grid-row:1 / span 2;align-self:start;margin:0;font-size:17px;line-height:1.6}
  .area-catalogue .service-cue{grid-column:2;grid-row:3;justify-self:start}
}
@media(max-width:860px){
  .area-entry{display:block;padding:0}
  .area-card-link{grid-template-columns:1fr;gap:8px;padding:28px 24px}
  .area-catalogue .service-entry{display:block;padding:0}
  .area-catalogue .service-card-link{display:block;padding:21px 0 23px}
  .service-cue{margin-top:16px}
}


/* Touch interaction cleanup */
@media (hover:none) and (pointer:coarse){
  .area-card-link,
  .service-card-link{
    -webkit-tap-highlight-color:rgba(8,29,45,.08);
  }
  .area-card-link:focus-visible,
  .service-card-link:focus-visible{
    outline:none;
    box-shadow:none;
  }
  .area-card-link:active,
  .service-card-link:active{
    background:var(--pale);
  }
}
