/* Crux's poster identity, with a quieter reading surface for practical guides. */
.editorial-masthead, .editorial-hero { background: var(--signal); }
.editorial .header { position: relative; inset: auto; }
.editorial .header nav a:hover { color: var(--ink); text-decoration: underline; }
.editorial a:focus-visible, .insight-preview a:focus-visible { outline-color: var(--ink); }
.editorial-hero { padding: 10px 0 64px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; margin-bottom: 42px; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 3px; }
.editorial-hero .descriptor { margin-bottom: 20px; }
.editorial-hero h1 { max-width: 1100px; font: 600 clamp(46px, 6.8vw, 108px)/.98 var(--poster); text-transform: uppercase; letter-spacing: -.015em; margin-bottom: 30px; text-wrap: balance; }
.editorial-deck { max-width: 790px; font-size: clamp(21px, 2.3vw, 29px); line-height: 1.35; margin-bottom: 0; }
.article-byline { margin: 30px 0 0; font-size: 15px; }
.article-byline a { text-decoration: underline; text-underline-offset: 3px; }
.editorial-layout { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(0, 3fr); gap: 7%; padding-block: 70px; align-items: start; }
.editorial-aside { position: sticky; top: 30px; max-width: 260px; font-size: 16px; }
.editorial-aside .descriptor { margin-bottom: 18px; }
.editorial-aside nav a { display: block; padding: 10px 0; border-bottom: 1px solid #ddcbbf; line-height: 1.3; }
.editorial-aside a:hover { color: var(--wine); text-decoration: underline; }
.service-note { display: block; padding: 22px 0; margin-top: 20px; font-weight: 600; }
.editorial-prose { max-width: 740px; font-size: 21px; line-height: 1.65; overflow-wrap: break-word; min-width: 0; }
.editorial-prose p { margin-bottom: 24px; }
.editorial-prose h2 { font: 700 clamp(26px, 2.5vw, 36px)/1.2 var(--display); letter-spacing: -.04em; margin: 54px 0 22px; scroll-margin-top: 30px; }
.editorial-prose h3 { font: 700 22px/1.3 var(--display); margin: 30px 0 12px; }
.editorial-prose a { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.editorial-prose a:hover { color: var(--wine); text-decoration-thickness: 2px; }
.editorial-prose ul, .editorial-prose ol { padding-left: 26px; margin-bottom: 28px; }
.editorial-prose li { margin-block: 10px; padding-left: 5px; }
.editorial-callout { border-left: 5px solid var(--signal); padding: 24px 28px; margin: 36px 0; background: var(--mist); }
.editorial-callout .descriptor { font-size: 13px; margin-bottom: 14px; }
.editorial-callout > strong { display: block; margin-bottom: 12px; }
.editorial-callout p:last-child { margin-bottom: 0; }
.table-scroll { overflow-x: auto; margin-block: 30px; }
.editorial-prose table { border-collapse: collapse; width: 100%; font-size: 17px; line-height: 1.45; }
.editorial-prose th, .editorial-prose td { text-align: left; vertical-align: top; padding: 16px 12px; border-bottom: 1px solid #ddcbbf; min-width: 125px; }
.editorial-prose th { background: var(--mist); font-weight: 600; }
.editorial-figure { margin: 35px 0; }
.editorial-figure img { display: block; width: 100%; height: auto; }
.editorial-figure figcaption { font-size: 14px; color: var(--muted); margin-top: 12px; }
.author-note { border-top: 1px solid #ddcbbf; margin-top: 50px; padding-top: 28px; font-size: 17px; }
.author-note > strong { display: block; margin-bottom: 10px; }
.author-note p { margin-bottom: 0; }
.hub-body { padding-top: 30px; }
.topic-links { display: flex; flex-wrap: wrap; gap: 12px 30px; font: 600 15px/1.5 var(--display); padding-bottom: 34px; }
.topic-links a { border-bottom: 1px solid currentColor; padding-block: 8px; }
.featured-guide { display: grid; grid-template-columns: 1fr 1fr; gap: 6%; align-items: center; background: var(--ink); color: var(--white); padding: clamp(24px, 4vw, 64px); }
.featured-guide h2 { font: 600 clamp(48px, 5.8vw, 86px)/.98 var(--poster); text-transform: uppercase; letter-spacing: -.01em; margin-bottom: 26px; }
.featured-guide p { font-size: 19px; }
.featured-guide .descriptor { color: #ffb49b; font-size: 13px; }
.featured-guide img { width: 100%; height: auto; }
.featured-guide:hover .text-link { color: #ffb49b; }
.guide-library { padding-top: 65px; }
.guide-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; }
.guide-heading h2 { font: 700 clamp(24px, 3vw, 36px)/1.2 var(--display); letter-spacing: -.04em; }
.guide-heading p { font-size: 16px; }
.guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; }
.guide-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: 30px 0; border-top: 1px solid #b3a094; }
.guide-card .descriptor { font-size: 13px; margin-bottom: 20px; }
.guide-card h3 { font: 700 clamp(22px, 2.3vw, 31px)/1.18 var(--display); letter-spacing: -.035em; margin-bottom: 18px; max-width: 95%; }
.guide-card p { font-size: 18px; color: #62534c; line-height: 1.5; }
.guide-arrow { margin-top: auto; font-size: 30px; line-height: 1; color: var(--wine); }
.guide-card:hover h3 { text-decoration: underline; text-underline-offset: 5px; }
.related-guides { padding-bottom: 30px; }
.editorial-contact { padding-block: 70px; display: flex; align-items: center; justify-content: space-between; gap: 45px; border-top: 1px solid #ddcbbf; }
.editorial-contact h2 { font: 600 clamp(46px, 5vw, 72px)/1 var(--poster); text-transform: uppercase; margin-bottom: 25px; }
.editorial-contact p { max-width: 470px; }
.editorial-contact .booking-actions { flex-shrink: 0; }
.editorial-footer { display: flex; align-items: flex-start; gap: 40px; padding-block: 35px; border-top: 1px solid #ddcbbf; font-size: 14px; }
.editorial-footer nav { display: flex; flex-wrap: wrap; gap: 12px 24px; max-width: 750px; }
.editorial-footer > span { margin-left: auto; white-space: nowrap; }
.editorial-footer a:hover { text-decoration: underline; }
.insight-preview { padding-block: 90px; }
.insight-preview .guide-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.insight-preview .guide-card h3 { font-size: 27px; }
.service-list .service-detail { display: block; margin-top: 18px; font-size: 15px; text-decoration: underline; text-underline-offset: 4px; }
@media(max-width: 950px) {
  .editorial-layout { grid-template-columns: minmax(150px, 1fr) minmax(0, 3fr); gap: 5%; }
  .editorial-contact { align-items: flex-start; flex-direction: column; gap: 24px; }
  .featured-guide { grid-template-columns: 1fr; gap: 30px; }
  .featured-guide img { max-width: 600px; }
  .insight-preview .guide-grid { grid-template-columns: 1fr; gap: 0; }
}
@media(max-width: 640px) {
  .editorial .header nav, .connected-home .header nav { gap: 14px; }
  .editorial .editorial-work-link, .connected-home .header nav a[href='#work'] { display: none; }
  .editorial-hero { padding-bottom: 38px; }
  .breadcrumbs { margin-bottom: 28px; font-size: 12px; }
  .editorial-hero h1 { font-size: clamp(38px, 12vw, 48px); line-height: 1; }
  .editorial-deck { font-size: 21px; }
  .article-byline { font-size: 13px; }
  .editorial-layout { grid-template-columns: 1fr; padding-block: 35px 45px; gap: 35px; }
  .editorial-aside { position: static; max-width: none; font-size: 15px; }
  .editorial-aside nav a { padding-block: 12px; }
  .editorial-prose { font-size: 19px; line-height: 1.6; }
  .editorial-prose h2 { margin-top: 40px; }
  .editorial-callout { padding: 22px 20px; }
  .guide-grid { grid-template-columns: 1fr; }
  .guide-heading { display: block; }
  .guide-heading p { margin-top: -6px; }
  .featured-guide h2 { font-size: 52px; }
  .featured-guide p { font-size: 18px; }
  .editorial-footer { flex-wrap: wrap; gap: 25px; }
  .editorial-footer nav { width: 100%; }
  .editorial-footer > span { margin-left: 0; }
  .insight-preview { padding-block: 65px; }
}
