/* Structural inner-page companion to Home's approved ivory/navy editorial design.
   Loaded after site-refresh.css; no Home, shell or component state selectors. */
.inner-editorial {
  --inner-paper: #f8f6f1;
  --inner-white: #fffefa;
  --inner-ink: #172e46;
  --inner-muted: #526171;
  --inner-line: #d5dce0;
  --inner-brass: #806333;
  background: var(--inner-paper);
  padding-bottom: 1px;
}
.inner-editorial :is(h1,h2,h3) { text-wrap: balance; }
.inner-editorial .wrap { max-width: 1320px; }
.inner-editorial .inner-hero { display: grid; gap: 58px; align-items: center; padding-block: 45px 62px; margin-bottom: 38px; border-bottom: 1px solid var(--inner-line); }
.inner-editorial .inner-hero--photo { grid-template-columns: minmax(0,1.06fr) minmax(0,1fr); gap: clamp(34px,5vw,76px); }
#main .inner-editorial .inner-hero-copy { max-width: none; padding: 0; min-width: 0; }
#main .inner-editorial .inner-hero-copy h1 { margin-block: 23px 25px; font-size: clamp(36px,3.65vw,55px); font-weight: 500; letter-spacing: -.052em; line-height: 1.14; }
#main .inner-editorial .inner-hero-copy > p { max-width: 62ch; font-size: 17px; line-height: 1.85; }
#main .inner-editorial .inner-hero-copy > .eyebrow { color: var(--inner-brass); font-size: 11px; letter-spacing: .15em; }
#main .inner-editorial .inner-hero-copy > .button { margin-top: 27px; }
.inner-editorial .inner-hero-copy .blog-back { margin-bottom: 19px; }
.inner-editorial .inner-hero-copy .blog-byline { gap: 8px 18px; font-size: 11px; }
.inner-editorial .inner-hero-media { align-self: stretch; display: grid; min-width: 0; }
.inner-editorial .inner-hero-media figure { margin: 0; display: flex; flex-direction: column; height: 100%; padding: 0; }
#main .inner-editorial .inner-hero-media img { display: block; width: 100%; flex: 1; min-height: 310px; max-height: 540px; aspect-ratio: 1.12; height: auto; object-fit: cover; border-radius: 1px; }
#main .inner-editorial .inner-hero-media figcaption { margin: 0; padding: 13px 0 0; border: 0; color: var(--inner-muted); font-size: 11px; line-height: 1.7; max-width: 57ch; }
.inner-editorial .inner-hero-media [data-photo-id='transport-vans'] img { object-position: 50% 75%; }
.inner-editorial .inner-hero-media [data-photo-id='freight-pallets'] img { object-position: 80% 50%; }
.inner-editorial .inner-hero--text { max-width: 1050px; padding-bottom: 45px; }
#main .inner-editorial .inner-hero--text h1 { font-size: clamp(40px,4.8vw,66px); max-width: 940px; }
.inner-editorial .inner-hero--task { padding-block: 38px 42px; gap: 40px; }
.inner-editorial .inner-hero--with-nav { grid-template-columns: minmax(0,1.75fr) minmax(240px,.85fr); gap: clamp(34px,6vw,86px); }
#main .inner-editorial .inner-hero--task h1 { max-width: 860px; font-size: clamp(38px,4.1vw,60px); }
.inner-editorial .inner-task-nav { align-self: center; border-top: 1px solid #afbdc6; padding-top: 18px; }
.inner-task-label { display: block; margin-bottom: 11px; color: var(--inner-brass); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.inner-task-nav a { display: grid; grid-template-columns: minmax(0,1fr) 16px; align-items: baseline; gap: 12px; min-height: 54px; padding-block: 15px; border-bottom: 1px solid var(--inner-line); font-size: 14px; line-height: 1.55; }
.inner-task-nav a:hover { color: var(--inner-brass); }
.inner-editorial .content-grid { grid-template-columns: minmax(0,1fr) minmax(265px,.42fr); gap: clamp(40px,7.5vw,108px); padding-bottom: 80px; align-items: start; }
.inner-editorial .content-grid > * { min-width: 0; }
.inner-editorial .inner-copy-section { position: relative; padding: 31px 0 32px; border-top: 1px solid var(--inner-line); }
.inner-editorial .inner-copy-section:first-child { padding-top: 0; border-top: 0; }
.inner-editorial .inner-copy-section > h2 { margin: 0 0 21px; font-size: clamp(26px,2.25vw,34px); font-weight: 500; line-height: 1.3; letter-spacing: -.04em; scroll-margin-top: 136px; }
.inner-editorial .inner-copy-section > :is(p,ul,ol) { line-height: 1.85; }
.inner-editorial .inner-copy-section > :last-child { margin-bottom: 0; }
.inner-editorial .inner-copy-section > .cards-two { margin-block: 25px; }
.inner-editorial .inner-reading-rail { display: grid; gap: 30px; align-content: start; }
.inner-editorial .inner-contents { padding: 25px 24px; background: #efeee8; border-top: 2px solid #a18a64; }
.inner-editorial .inner-contents > h2 { margin: 0 0 15px; font: 600 11px/1.5 var(--sans); text-transform: uppercase; letter-spacing: .13em; color: var(--inner-brass); }
.inner-editorial .inner-contents ul { list-style: none; padding: 0; margin: 0; }
.inner-editorial .inner-contents li { margin: 0; padding: 0; }
.inner-editorial .inner-contents a { display: block; min-height: 44px; padding: 11px 0; border-bottom: 1px solid #d5d8d4; color: var(--inner-ink); font-size: 12px; line-height: 1.65; text-decoration: none; }
.inner-editorial .inner-contents li:last-child a { border-bottom: 0; }
.inner-editorial .inner-contents a:hover { text-decoration: underline; text-underline-offset: 4px; }
.inner-editorial .prose > .inner-contents { margin-bottom: 35px; }
#main .inner-editorial .inner-reading-rail > .aside-card { position: static; border: 0; border-radius: 1px; padding: 28px; background: var(--inner-ink); color: var(--inner-paper); }
.inner-editorial .inner-reading-rail > .aside-card :is(h2,h3,a) { color: var(--inner-paper); }
.inner-editorial .inner-reading-rail > .aside-card :is(p,li,.eyebrow) { color: #dce3e8; }
.inner-editorial .inner-reading-rail > .aside-card .button { background: var(--inner-paper); border-color: var(--inner-paper); color: var(--inner-ink); white-space: normal; }
.inner-editorial .inner-reading-rail > .aside-card .button:hover { background: #e6dccb; }
.inner-editorial .inner-reading-rail > .aside-card :focus-visible { outline-color: #e1c797; }
.inner-editorial .inner-reading-rail > .aside-card h2 { font-size: 26px; font-weight: 500; line-height: 1.3; }
.inner-editorial .inner-reading-rail > .aside-card p { font-size: 13px; }
.inner-editorial .inner-reading-rail > .aside-card li { font-size: 13px; line-height: 1.8; }
.inner-editorial .service-shortcuts { margin-top: -13px; margin-bottom: 38px; }
.inner-editorial .service-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 25px; }
#main .inner-editorial .service-grid > .service-card { background: transparent; border: 0; border-top: 1px solid #a7b4bf; border-radius: 0; padding: 26px 6px 29px 0; }
#main .inner-editorial .service-grid > .service-card h3 { font-size: 28px; font-weight: 500; }
.inner-editorial .service-card .service-icon { width: 28px; height: 28px; }
.inner-editorial .service-card p { min-height: 0; line-height: 1.8; }
/* Photography adds context without the former tall gaps between card sections. */
#main .inner-editorial .service-grid > .service-card--photographic { padding: 0 0 25px; border-top: 0; }
.inner-editorial .service-card-photo { margin: 0 0 15px; aspect-ratio: 1.6; overflow: hidden; background: #e9e8e2; }
.inner-editorial .service-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.inner-editorial .service-card--photographic .service-card-top { min-height: 28px; }
#main .inner-editorial .service-grid > .service-card--photographic h3 { min-height: 0; margin-block: 12px 14px; font-size: clamp(25px,2.1vw,28px); }
#main .inner-editorial .service-card--photographic > p { font-size: 15px; line-height: 1.75; }
#main .inner-editorial .service-card--photographic > .text-link { margin-top: 17px; }
/* The catalogue is a first decision, with one coherent link per service. */
.service-catalogue { padding-bottom: 48px; }
.service-catalogue [hidden] { display: none !important; }
.service-catalogue .section-heading { margin-bottom: 25px; }
.service-catalogue-filters { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 26px; }
.service-catalogue-filters button { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; padding: 10px 15px; border: 1px solid #a7b4bf; border-radius: 2px; background: transparent; color: #172e46; font: 500 14px/1.5 var(--sans); cursor: pointer; }
.service-catalogue-filters button span { font-size: 12px; opacity: .8; }
.service-catalogue-filters button[aria-pressed="true"] { background: #172e46; border-color: #172e46; color: white; }
.service-catalogue :is(button,a):focus-visible { outline: 3px solid #806333; outline-offset: 5px; }
#main .inner-editorial .service-catalogue .service-card { padding: 0; display: flex; }
.service-catalogue .service-card-link { display: flex; flex-direction: column; width: 100%; min-width: 0; padding-bottom: 21px; border-bottom: 1px solid #a7b4bf; color: inherit; text-decoration: none; }
.service-catalogue .service-card-photo { width: 100%; margin-bottom: 18px; aspect-ratio: 1.65; }
.service-catalogue .service-card-heading { display: grid; grid-template-columns: 1fr auto; gap: 8px 18px; align-items: start; }
#main .inner-editorial .service-catalogue .service-card h3 { margin: 0; min-height: 0; font-size: clamp(24px,2.1vw,29px); line-height: 1.22; }
.service-catalogue .service-card-heading svg { width: 22px; height: 22px; margin-top: 4px; }
.service-catalogue .service-card-link > p { font-size: 14px; line-height: 1.75; margin: 15px 0 19px; }
.service-catalogue .service-card-action { margin-top: auto; font-size: 13px; font-weight: 500; text-decoration: underline; text-underline-offset: 5px; }
.service-catalogue .service-card-link:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.service-catalogue-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 40px; border-top: 1px solid #a7b4bf; padding-top: 24px; margin-top: 28px; }
.service-catalogue-note p { max-width: 68ch; font-size: 14px; }
.service-catalogue-note .text-link { flex: none; font-size: 14px; }
.inner-hero-media .advice-diagram { margin: 0; padding: 18px; background: #eeeee8; }
.inner-hero-media .advice-diagram svg { display: block; width: 100%; height: auto; }
.inner-hero-media .advice-diagram figcaption { font-size: 13px; line-height: 1.6; }
@media(max-width:600px) {
  .service-catalogue-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
  .service-catalogue-filters button { justify-content: space-between; padding-inline: 10px; font-size: 12px; gap: 6px; }
  .service-catalogue .service-card-link > p { margin-block: 12px 16px; }
}
#main .inner-editorial .cards-two > .info-card { border-radius: 1px; background: var(--inner-white); padding: 27px; }
.inner-editorial .content-grid .cards-two { grid-template-columns: 1fr; gap: 20px; }
.inner-editorial .disclosure { background: #eeeee8; border: 0; border-left: 2px solid #a18a64; border-radius: 0; padding: 25px 28px; }
.inner-editorial .faq-list summary { font-weight: 500; }
.inner-editorial .faq-list details p { line-height: 1.85; }
.inner-editorial .contextual-faq { background: #eeeee8; }
.inner-editorial .advice-guide { background: transparent; }
.inner-editorial .advice-layout { grid-template-columns: minmax(210px,.7fr) minmax(0,2fr); gap: 60px; }
.inner-editorial .advice-sidebar { background: #efeee8; padding: 26px; position: static; }
.inner-editorial .advice-section { border-bottom: 1px solid var(--inner-line); padding-block: 35px; }
.inner-editorial .advice-section:first-of-type { padding-top: 35px; }
.inner-editorial .advice-section > h2 { font-weight: 500; }
.inner-editorial .blog-article-layout { padding-top: 8px; grid-template-columns: minmax(220px,.65fr) minmax(0,2fr); gap: 65px; }
.inner-editorial .blog-contents { background: #efeee8; padding: 25px; position: static; }
.inner-editorial .blog-article-body > section { border-bottom: 1px solid var(--inner-line); margin: 0; padding: 32px 0; }
.inner-editorial .blog-article-body > section:first-child { padding-top: 0; }
.inner-editorial .blog-article-body h2 { font-weight: 500; font-size: clamp(27px,2.4vw,35px); }
.inner-editorial .blog-related { margin-top: 30px; padding: 29px; border: 0; background: #efeee8; }
.inner-editorial .blog-grid { gap: 45px 34px; }
.inner-editorial .blog-card-image { aspect-ratio: 1.8; }
.inner-editorial .blog-card-body { padding-top: 22px; }
.inner-editorial .blog-card h2 { font-size: clamp(27px,2.7vw,36px); }
.inner-editorial .blog-tools { background: #efeee8; padding: 25px; border: 0; }
.inner-editorial--legal .legal-page { padding-top: 39px; }
.inner-editorial--legal .legal-header { padding: 0 0 42px; margin-bottom: 38px; border-bottom: 1px solid var(--inner-line); }
.inner-editorial--legal .legal-header h1 { font-weight: 500; }
.inner-editorial--legal .legal-layout { gap: 62px; }
.inner-editorial--legal .legal-navigation { background: #efeee8; padding: 25px; position: static; }
.inner-editorial--legal .legal-section { padding-block: 31px; }
.inner-editorial--legal .legal-section > h2 { line-height: 1.3; font-weight: 500; }
.inner-editorial :is(.inner-task-nav a,.inner-contents a):focus-visible { outline: 3px solid var(--inner-brass); outline-offset: 4px; }
@media (max-width: 1100px) {
  .inner-editorial .content-grid { grid-template-columns: minmax(0,1fr) minmax(240px,.5fr); gap: 40px; }
  .inner-editorial .inner-reading-rail > .aside-card { padding: 24px; }
  .inner-editorial .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .inner-editorial .advice-layout,.inner-editorial .blog-article-layout { gap: 36px; }
}
@media (max-width: 900px) {
  .inner-editorial .inner-hero--photo { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .inner-editorial .inner-hero { padding-top: 32px; padding-bottom: 37px; margin-bottom: 34px; }
  #main .inner-editorial .inner-hero-copy h1 { font-size: clamp(37px,6vw,56px); max-width: 850px; }
  #main .inner-editorial .inner-hero-media img { min-height: 0; aspect-ratio: 1.8; max-height: 410px; width: 100%; }
  #main .inner-editorial .inner-hero-copy > p { max-width: 67ch; }
  .inner-editorial .inner-hero--with-nav { grid-template-columns: minmax(0,1fr); gap: 25px; }
  .inner-editorial .inner-task-nav { max-width: none; }
  .inner-editorial .inner-task-nav a { min-height: 48px; padding-block: 12px; }
  .inner-editorial .content-grid { grid-template-columns: 1fr; gap: 36px; padding-bottom: 57px; }
  .inner-editorial .inner-reading-rail { grid-row: 1; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 24px; }
  .inner-editorial .inner-reading-rail > .aside-card { margin: 0; }
  .inner-editorial .inner-copy-section:first-child { padding-top: 30px; border-top: 1px solid var(--inner-line); }
  .inner-editorial .advice-layout,.inner-editorial .blog-article-layout,.inner-editorial--legal .legal-layout { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .inner-editorial .advice-sidebar { display: grid; grid-template-columns: 1.4fr 1fr; gap: 30px; }
  .inner-editorial .advice-sidebar-action { padding-top: 0; }
  .inner-editorial .blog-contents ol { display: grid; grid-template-columns: 1fr 1fr; gap: 0 25px; }
  .inner-editorial--legal .legal-navigation { padding: 22px; }
}
@media (max-width: 600px) {
  .inner-editorial .inner-hero { padding-top: 28px; padding-bottom: 30px; margin-bottom: 28px; }
  #main .inner-editorial .inner-hero-copy h1 { font-size: clamp(34px,8.8vw,46px); line-height: 1.17; letter-spacing: -.047em; margin-block: 20px; }
  #main .inner-editorial .inner-hero-copy > p { font-size: 16px; line-height: 1.8; }
  #main .inner-editorial .inner-hero-copy > .eyebrow { font-size: 10px; letter-spacing: .12em; }
  #main .inner-editorial .inner-hero-media img { aspect-ratio: 1.4; max-height: none; }
  .inner-editorial .inner-hero--photo { gap: 27px; }
  .inner-editorial .inner-reading-rail { display: contents; }
  .inner-editorial .inner-reading-rail > .inner-contents { grid-row: 1; }
  .inner-editorial .inner-reading-rail > .aside-card { grid-row: 3; }
  .inner-editorial .inner-copy-section { padding: 26px 0 28px; }
  .inner-editorial .inner-copy-section:first-child { padding-top: 26px; }
  .inner-editorial .inner-copy-section > h2 { font-size: 27px; line-height: 1.3; margin-bottom: 18px; }
  .inner-editorial .inner-copy-section > :is(p,ul,ol) { font-size: 15px; line-height: 1.9; }
  .inner-editorial .inner-contents { padding: 23px; }
  .inner-editorial .inner-contents a { font-size: 13px; }
  .inner-editorial .service-grid { grid-template-columns: 1fr; gap: 10px; }
  #main .inner-editorial .service-grid > .service-card { padding-block: 25px; }
  .inner-editorial .cards-two { grid-template-columns: 1fr; gap: 19px; }
  #main .inner-editorial .cards-two > .info-card { padding: 23px; }
  .inner-editorial .disclosure { padding: 22px; }
  .inner-editorial .advice-sidebar { grid-template-columns: 1fr; gap: 23px; padding: 23px; }
  .inner-editorial .blog-contents ol { grid-template-columns: 1fr; }
  .inner-editorial .blog-related { padding: 23px; }
  .inner-editorial .blog-grid { grid-template-columns: 1fr; gap: 33px; }
  .inner-editorial .blog-tools { padding: 22px; }
  .inner-editorial--legal .legal-page { padding-top: 29px; }
  .inner-editorial--legal .legal-header { padding-bottom: 27px; margin-bottom: 28px; }
}
@media print {
  .inner-editorial { background: white; }
  .inner-editorial .inner-hero { display: block; }
  .inner-editorial .inner-hero-media { display: none; }
  .inner-editorial .inner-task-nav,.inner-editorial .inner-contents { display: none; }
  .inner-editorial .inner-reading-rail { display: block; }
  .inner-editorial .inner-reading-rail > .aside-card { background: white; color: black; }
  .inner-editorial .inner-reading-rail > .aside-card :is(p,li,a,h2,h3) { color: black; }
  .inner-editorial .inner-copy-section { break-inside: avoid; }
}
