/* The resource library uses the same colours, wordmark and type as the service pages. */
.editorial-page { color:var(--ink); }
.editorial-hero {
  color:#fff;
  background:var(--deep);
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.editorial-hero::after {
  content:""; position:absolute; inset:0 0 0 62%; z-index:-1; pointer-events:none;
  background:url("../images/signal-connections.svg") center / cover no-repeat; opacity:.68;
  mask-image:linear-gradient(to right,transparent,#000 40%);
}
.editorial-hero-inner { padding-block:clamp(24px,3vw,44px) clamp(36px,4.5vw,68px); }
.editorial-hero .breadcrumb { margin:0 0 clamp(22px,3vw,42px); flex-wrap:wrap; color:#d1e5df; }
.editorial-hero .breadcrumb a { color:inherit; }
.editorial-hero :focus-visible { outline-color:var(--lime); }
.editorial-hero .breadcrumb a + a::before { content:"/"; margin-right:8px; color:#9bbeb8; }
.editorial-hero h1 { max-width:min(22ch,80%); margin:0 0 20px; font-size:clamp(36px,4.9vw,68px); font-weight:600; line-height:1.08; letter-spacing:-.05em; overflow-wrap:break-word; }
.editorial-hero p:not(.eyebrow) { max-width:65ch; margin:0; font-size:clamp(18px,1.6vw,22px); line-height:1.5; color:#e4f0eb; }
.editorial-hero .eyebrow { color:var(--lime); margin-bottom:14px; }
.editorial-hero .lead + p, .editorial-hero h1 + .eyebrow { font:400 15px/1.5 var(--body); color:#c6ded5; text-transform:none; letter-spacing:0; }
.editorial-hero .lead + p { margin-top:18px; }
.editorial-hero h1 + .eyebrow::before { display:none; }

.editorial-layout { padding-block:clamp(32px,5vw,72px) clamp(55px,7vw,100px); }
.editorial-guide .editorial-layout { display:grid; gap:26px; }
.editorial-prose { font-size:clamp(18px,1.4vw,20px); line-height:1.62; min-width:0; overflow-wrap:break-word; }
.editorial-guide .editorial-prose { width:100%; max-width:72ch; }
.editorial-prose > :first-child { margin-top:0; }
.editorial-prose h2 { font-size:clamp(27px,2.8vw,40px); line-height:1.16; font-weight:600; color:var(--deep); margin:1.6em 0 .55em; scroll-margin-top:8px; }
.editorial-prose h3 { font-size:clamp(22px,2vw,28px); line-height:1.25; margin:1.4em 0 .5em; }
.editorial-prose p,.editorial-prose ul,.editorial-prose ol { margin-bottom:1em; }
.editorial-prose li + li { margin-top:.4em; }
.editorial-prose a:not(.button) { color:var(--teal); text-decoration:underline; text-underline-offset:.16em; text-decoration-thickness:1px; }
.editorial-prose a:not(.button):hover { color:var(--deep); text-decoration-thickness:2px; }
.editorial-prose .table-scroll { max-width:100%; margin-block:24px; border:1px solid var(--line); border-radius:12px; }
.editorial-prose .table-scroll table { table-layout:auto; min-width:34rem; margin:0; font-size:17px; line-height:1.45; }
.editorial-prose .table-scroll td,.editorial-prose .table-scroll th { width:auto; padding:14px 16px; }
.editorial-prose .table-scroll th { font-size:17px; }
.editorial-prose .table-scroll td { color:var(--ink); }
.editorial-prose .actions { margin-top:2em; padding-top:1.5em; border-top:1px solid var(--line); }
.editorial-prose .actions .button { white-space:normal; max-width:100%; text-align:center; }
.editorial-contents { min-width:0; align-self:start; border-block:1px solid var(--line); }
.editorial-contents summary { cursor:pointer; font:600 17px/1.4 var(--heading); color:var(--deep); padding:14px 0; }
.editorial-contents summary::marker { color:var(--teal); }
.editorial-contents ul { padding:0 0 12px; margin:0; list-style:none; }
.editorial-contents li + li { border-top:1px solid var(--line); }
.editorial-contents a { display:block; padding:11px 0; font-size:16px; line-height:1.42; color:var(--teal); text-decoration:none; }
.editorial-contents a:hover { text-decoration:underline; }
@media (min-width:900px) {
  .editorial-guide .editorial-layout { grid-template-columns:minmax(0,72ch) minmax(200px,295px); justify-content:space-between; gap:clamp(48px,6vw,105px); }
  .editorial-guide .editorial-prose { grid-column:1; grid-row:1; }
  .editorial-contents { grid-column:2; grid-row:1; background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:4px 22px; }
}

.editorial-library .editorial-hero-inner { padding-block:clamp(48px,6vw,88px); }
.editorial-library .editorial-prose > nav ul { display:flex; flex-wrap:wrap; gap:10px; list-style:none; margin:0; padding:0; }
.editorial-library .editorial-prose > nav li { margin:0; }
.editorial-library .editorial-prose > nav a { display:inline-flex; align-items:center; min-height:44px; padding:9px 16px; border:1px solid var(--line); border-radius:8px; background:var(--paper); font-size:16px; text-decoration:none; }
.editorial-library .resource-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:16px; }
.editorial-library .resource-list article { position:relative; padding:24px; border:1px solid var(--line); border-radius:14px; background:var(--paper); }
.editorial-library .resource-list h3 { margin:0 0 12px; font-weight:600; font-size:23px; }
.editorial-library .resource-list h3 a { text-decoration:none; }
.editorial-library .resource-list h3 a::after { content:""; position:absolute; inset:0; border-radius:14px; }
.editorial-library .resource-list article:hover, .editorial-library .resource-list article:focus-within { border-color:var(--teal); background:var(--mint); }
.editorial-library .resource-list p { font-size:17px; line-height:1.5; margin:0; color:var(--muted); }
@media (max-width:899px) {
  .editorial-hero h1 { max-width:22ch; }
  .editorial-hero::after { display:none; }
  .editorial-prose .actions .button { min-height:48px; }
}
@media print {
  .editorial-hero { background:white; color:black; }
  .editorial-hero p,.editorial-hero .eyebrow,.editorial-hero .lead + p { color:black; }
  .editorial-hero::after,.editorial-contents { display:none; }
  .editorial-guide .editorial-layout { display:block; }
  .editorial-prose .table-scroll { overflow:visible; }
  .editorial-prose .table-scroll table { min-width:0; }
}
