/* Marine editorial. Palette/type compiled from brand/BRAND.md; spacing from design-system tokens. */
.nch-editorial {
  --nch-ed-mast-height: var(--nch-mast-h, 4.75rem);
  --nch-ed-title: clamp(2.25rem, 4.5vw, 4rem);
  --nch-ed-large: clamp(2.75rem, 5.5vw, 4.75rem);
  --nch-ed-heading: clamp(1.875rem, 3vw, 2.75rem);
  --nch-ed-small-heading: clamp(1.5rem, 2.2vw, 2rem);
  --nch-ed-gutter: clamp(1rem, 4vw, 3rem);
  --nch-ed-target: 2.75rem;
  --nch-ed-muted: color-mix(in srgb, var(--nch-ink) 78%, var(--nch-bone));
  margin:0; background:var(--nch-bone-raised); color:var(--nch-ink);
  font-family:var(--nch-font-ui); font-size:var(--font-size-base); line-height:var(--line-height-base);
  -webkit-font-smoothing:antialiased; -webkit-text-size-adjust:100%;
}
.nch-editorial *, .nch-editorial *::before, .nch-editorial *::after { box-sizing:border-box; }
.nch-editorial :is(h1,h2,h3,h4,p,figure) { margin:0; }
.nch-editorial :is(h1,h2,h3,h4) { color:var(--nch-ink); text-wrap:pretty; }
.nch-editorial :is(h1,h2) { font-family:var(--nch-font-display); font-weight:500; line-height:1.08; letter-spacing:-.025em; }
.nch-editorial a { color:inherit; text-underline-offset:.22em; }
.nch-editorial img { max-width:100%; display:block; }
.nch-editorial :is(main, footer) :is(a,summary,button,input,select):focus-visible { outline:2px solid var(--nch-blue); outline-offset:4px; box-shadow:0 0 0 4px var(--nch-bone); }
.nch-ed__shell { width:min(100% - var(--nch-ed-gutter) * 2, var(--nch-shell)); margin-inline:auto; }
/* The masthead is the site shell (assets/site/site-shell.css); its height drives anchor offsets below. */
.nch-ed__eyebrow { font-family:var(--nch-font-ui); font-size:.6875rem; line-height:var(--line-height-base); letter-spacing:.14em; text-transform:uppercase; font-weight:600; }
.nch-ed__breadcrumb { display:flex; gap:var(--space-3); font-size:var(--font-size-xs); padding-top:var(--space-6); color:var(--nch-ed-muted); }
.nch-ed__breadcrumb a { min-height:var(--nch-ed-target); display:inline-flex; align-items:center; }
.nch-ed__breadcrumb span { align-self:center; }
.nch-ed__article-head { display:grid; gap:var(--space-6); padding-block:var(--space-6) var(--space-10); border-bottom:1px solid var(--nch-line); }
.nch-ed__article-head h1 { font-size:var(--nch-ed-title); margin-block:var(--space-5); max-width:20ch; }
.nch-ed__standfirst { font-size:var(--font-size-lg); color:var(--nch-ed-muted); line-height:1.65; max-width:55ch; }
.nch-ed__meta { font-size:var(--font-size-xs); line-height:var(--line-height-relaxed); color:var(--nch-ed-muted); margin-top:var(--space-6)!important; }
.nch-ed__meta span { margin-inline:var(--space-2); }
.nch-ed__hero-image { align-self:stretch; min-width:0; }
.nch-ed__hero-image img { width:100%; height:100%; max-height:31rem; min-height:14rem; aspect-ratio:5/4; object-fit:cover; border-radius:var(--nch-radius); }
.nch-ed__reading { display:grid; gap:var(--space-8); padding-block:var(--space-8) var(--space-16); }
.nch-ed__rail { min-width:0; }
.nch-ed__contents { border-block:1px solid var(--nch-line); font-family:var(--nch-font-ui); }
.nch-ed__contents summary { min-height:var(--nch-ed-target); display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); font-size:var(--font-size-sm); font-weight:600; padding-block:var(--space-4); cursor:pointer; }
.nch-ed__contents summary::-webkit-details-marker { display:none; }
.nch-ed__contents ol { list-style:none; margin:0; padding:0 0 var(--space-4); }
.nch-ed__contents li { margin:0; }
.nch-ed__contents a { display:block; padding-block:var(--space-3); font-size:var(--font-size-xs); line-height:var(--line-height-base); text-decoration:none; color:var(--nch-ed-muted); border-bottom:1px solid var(--nch-line); }
.nch-ed__contents li:last-child a { border-bottom:0; }
.nch-ed__contents a[aria-current] { color:var(--nch-blue); text-decoration:underline; }
.nch-ed__prose { min-width:0; max-width:var(--nch-measure); font-family:var(--nch-font-display); font-size:var(--font-size-xl); line-height:1.7; overflow-wrap:break-word; }
.nch-ed__prose > :first-child { margin-top:0; }
.nch-ed__prose :is(p,ul,ol,figure,blockquote,table,details) { margin-block:0 var(--space-6); }
.nch-ed__prose :is(ul,ol) { padding-left:var(--space-6); }
.nch-ed__prose li { margin-bottom:var(--space-2); }
.nch-ed__prose h2 { font-size:var(--nch-ed-heading); margin-block:var(--space-12) var(--space-5); padding-top:var(--space-3); scroll-margin-top:calc(var(--nch-ed-mast-height) + var(--space-6)); }
.nch-ed__prose h3 { font-family:var(--nch-font-ui); font-size:var(--font-size-xl); font-weight:600; margin-block:var(--space-8) var(--space-4); line-height:var(--line-height-tight); }
.nch-ed__prose h4 { font-family:var(--nch-font-ui); font-size:var(--font-size-lg); font-weight:600; margin-block:var(--space-6) var(--space-3); }
.nch-ed__prose strong { font-weight:600; }
.nch-ed__prose a { color:var(--nch-blue); text-decoration:underline; }
.nch-ed__prose img { height:auto; border-radius:var(--nch-radius); }
.nch-ed__prose figcaption { font-family:var(--nch-font-ui); font-size:var(--font-size-xs); color:var(--nch-ed-muted); padding-top:var(--space-2); }
.nch-ed__prose blockquote { background:var(--nch-bone); border-left:3px solid var(--nch-blue); padding:var(--space-5) var(--space-6); font-style:normal; }
.nch-ed__prose blockquote p:last-child { margin:0; }
.nch-ed__prose :is(.wp-block-table,.nch-ed__table-scroll) { width:100%; max-width:100%; overflow:auto; margin-block:var(--space-6) var(--space-8); }
.nch-ed__prose table { width:100%; border-collapse:collapse; border:0; font-family:var(--nch-font-ui); font-size:var(--font-size-sm); font-variant-numeric:tabular-nums; line-height:var(--line-height-base); margin:0; }
.nch-ed__prose :is(th,td) { padding:var(--space-4); border:0; border-bottom:1px solid var(--nch-line); vertical-align:top; text-align:left; min-width:6.5rem; }
.nch-ed__prose th { background:var(--nch-ink); color:var(--nch-bone); font-weight:500; }
.nch-ed__prose tbody tr:nth-child(even) { background:var(--nch-bone); }
.nch-ed__prose summary { cursor:pointer; padding-block:var(--space-4); font-family:var(--nch-font-ui); font-size:var(--font-size-base); }
.nch-ed__prose details { border-block:1px solid var(--nch-line); }
.nch-ed__next { background:var(--nch-bone); border-top:3px solid var(--nch-sand); padding:var(--space-6); margin-top:var(--space-16); }
.nch-ed__next h2 { margin-top:var(--space-4); font-size:var(--nch-ed-small-heading); }
.nch-ed__next p:not(.nch-ed__eyebrow) { font-family:var(--nch-font-ui); font-size:var(--font-size-base); }
.nch-ed__button, .nch-ed__prose .cta-btn { display:inline-flex; gap:var(--space-6); align-items:center; justify-content:space-between; min-height:var(--nch-ed-target); padding:var(--space-3) var(--space-5); background:var(--nch-ink); color:var(--nch-bone)!important; font-family:var(--nch-font-ui); font-size:var(--font-size-sm); text-decoration:none!important; border-radius:var(--nch-radius); }
.nch-ed__index-head { display:grid; gap:var(--space-6); padding-block:var(--space-12) var(--space-8); }
.nch-ed__index-head h1 { font-size:var(--nch-ed-large); margin-top:var(--space-4); }
/* The blog keeps the live H1's longer, keyword wording: a size down, balanced lines */
.nch-ed__index-head--blog h1 { font-size:clamp(2.25rem, 4.2vw, 3.5rem); text-wrap:balance; }
.nch-ed__index-head > p, .nch-ed__index-head > div > p:not(.nch-ed__eyebrow) { font-size:var(--font-size-lg); line-height:1.7; color:var(--nch-ed-muted); max-width:42ch; }
.nch-ed__section-nav { display:flex; gap:var(--space-6); border-block:1px solid var(--nch-line); }
.nch-ed__section-nav a { display:flex; align-items:center; gap:var(--space-2); min-height:3.5rem; font-size:var(--font-size-sm); text-decoration:none; }
.nch-ed__section-nav a[aria-current] { box-shadow:inset 0 -3px var(--nch-ink); }
/* Guide-layout pages: sibling-page tabs scroll sideways on phones; related guides close the article */
.nch-ed__section-nav--pages { overflow-x:auto; scrollbar-width:none; }
.nch-ed__section-nav--pages a { flex:none; white-space:nowrap; }
.nch-ed__related { border-top:1px solid var(--nch-line); margin-top:var(--space-12); padding-top:var(--space-6); font-family:var(--nch-font-ui); }
.nch-ed__related ul { list-style:none; margin:var(--space-3) 0 0; padding:0; }
.nch-ed__related li { margin:0; }
.nch-ed__related a { display:flex; align-items:center; min-height:var(--nch-ed-target); font-size:var(--font-size-sm); }
/* Legacy components inside converted pages' content (their embedded <style> is dropped), in the guide palette */
.nch-ed__prose :is(.callout, .cta-box) { background:var(--nch-bone); border-left:3px solid var(--nch-sand); padding:var(--space-5); margin-block:0 var(--space-6); }
.nch-ed__prose .callout-warning { border-left-color:var(--nch-clay); }
.nch-ed__prose .cta-box { border-left:0; border-top:3px solid var(--nch-sand); margin-block:var(--space-10); }
.nch-ed__prose .cta-box :is(h2, h3) { margin-top:0; }
.nch-ed__prose :is(.callout, .cta-box) > :last-child { margin-bottom:0; }
.nch-ed__prose [class^="status-"] { display:inline-block; padding:var(--space-1) var(--space-2); border-radius:var(--nch-radius); font-family:var(--nch-font-ui); font-size:var(--font-size-xs); font-weight:600; background:var(--nch-bone); white-space:nowrap; }
.nch-ed__prose .status-open { background:var(--nch-ok-bg); color:var(--nch-ok); }
.nch-ed__prose :is(.status-closed, .status-waitlist) { background:var(--nch-warn-bg); color:var(--nch-warn); }
.nch-ed__prose .step { display:flex; gap:var(--space-4); margin-block:0 var(--space-6); }
.nch-ed__prose .step-num { flex:none; width:2rem; height:2rem; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--nch-ink); color:var(--nch-bone); font-family:var(--nch-font-ui); font-size:var(--font-size-sm); font-weight:600; }
.nch-ed__prose .step-content h3 { margin-top:0; }
.nch-ed__prose .checklist { list-style:none; padding-left:0; }
.nch-ed__prose .checklist li { position:relative; padding-left:var(--space-8); }
.nch-ed__prose .checklist li::before { content:"☐"; position:absolute; left:0; color:var(--nch-slate); }
.nch-ed__prose .timeline-item { border-left:2px solid var(--nch-line); padding-left:var(--space-5); margin-bottom:var(--space-6); }
.nch-ed__prose .timeline .time { font-family:var(--nch-font-ui); font-size:var(--font-size-xs); font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--nch-slate); margin-bottom:var(--space-1); }
.nch-ed__stories { padding-block:var(--space-8); }
.nch-ed__story { display:grid; gap:var(--space-5); padding-block:var(--space-8); border-bottom:1px solid var(--nch-line); }
.nch-ed__story:first-child { padding-top:0; }
.nch-ed__story-image img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:var(--nch-radius); }
.nch-ed__story h2 { font-size:var(--nch-ed-small-heading); margin-block:var(--space-3); }
.nch-ed__story h2 a, .nch-ed__community h2 a { text-decoration:none; }
.nch-ed__story p:not(.nch-ed__eyebrow) { font-size:var(--font-size-base); color:var(--nch-ed-muted); line-height:1.65; max-width:64ch; }
.nch-ed__read { font-family:var(--nch-font-ui); font-size:var(--font-size-sm); font-weight:500; display:inline-flex; align-items:center; justify-content:space-between; gap:var(--space-6); min-height:var(--nch-ed-target); margin-top:var(--space-3); text-decoration:none; }
.nch-ed__read span { font-size:var(--font-size-xl); }
.nch-ed__pagination { display:flex; gap:var(--space-3); padding-block:var(--space-4) var(--space-12); }
.nch-ed__pagination :is(a,span.page-numbers) { display:inline-flex; align-items:center; justify-content:center; min-width:var(--nch-ed-target); min-height:var(--nch-ed-target); padding:var(--space-3); }
.nch-ed__pagination .current { background:var(--nch-ink); color:var(--nch-bone); }
.nch-ed__empty { padding-block:var(--space-12); }
.nch-ed__directory-intro { border-block:1px solid var(--nch-line); padding-block:var(--space-5); display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:var(--space-3); }
.nch-ed__directory-intro p { font-size:var(--font-size-sm); color:var(--nch-ed-muted); }
.nch-ed__community { display:grid; grid-template-columns:2rem minmax(0,1fr); align-items:center; gap:var(--space-4); padding-block:var(--space-6); border-bottom:1px solid var(--nch-line); }
.nch-ed__number { font-family:var(--nch-font-display); font-size:var(--font-size-xl); align-self:start; }
.nch-ed__community-image { grid-column:2; }
.nch-ed__community-image img { width:100%; height:auto; aspect-ratio:2/1; object-fit:cover; border-radius:var(--nch-radius); }
.nch-ed__community > div { grid-column:2; }
.nch-ed__community h2 { font-size:var(--nch-ed-heading); margin-block:var(--space-2); }
.nch-ed__community p:not(.nch-ed__eyebrow) { font-size:var(--font-size-sm); color:var(--nch-ed-muted); }
.nch-ed__community > .nch-ed__read { grid-column:2; margin:0; justify-content:flex-start; }
.nch-ed__plan-notes { display:grid; gap:var(--space-8); padding-block:var(--space-12) var(--space-16); }
.nch-ed__plan-notes h2 { font-size:var(--nch-ed-heading); margin-top:var(--space-4); }
.nch-ed__plan-notes details { border-bottom:1px solid var(--nch-line); }
.nch-ed__plan-notes summary { cursor:pointer; padding-block:var(--space-5); font-weight:500; min-height:var(--nch-ed-target); }
.nch-ed__plan-notes details p { padding-bottom:var(--space-6); color:var(--nch-ed-muted); line-height:1.7; }
.nch-ed__footer { background:var(--nch-ink); color:var(--nch-bone); padding-block:var(--space-12); }
.nch-ed__footer .nch-ed__shell { display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--space-8); }
.nch-ed__footer .nch-ed__eyebrow { color:var(--nch-sand); }
.nch-ed__footer h2 { color:var(--nch-bone); font-size:var(--nch-ed-heading); margin-block:var(--space-5); }
.nch-ed__footer p { font-size:var(--font-size-xs); }
.nch-ed__footer nav { display:grid; align-content:start; }
.nch-ed__footer a { min-height:var(--nch-ed-target); display:flex; align-items:center; font-size:var(--font-size-sm); }
@media (min-width:768px) {
  .nch-ed__article-head { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:var(--space-10); padding-block:var(--space-6) var(--space-12); align-items:center; }
  .nch-ed__article-head--text { grid-template-columns:1fr; }
  .nch-ed__article-head--text h1 { max-width:26ch; }
  .nch-ed__hero-image { padding-block:var(--space-2); }
  .nch-ed__index-head { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); align-items:end; gap:var(--space-12); padding-block:var(--space-16) var(--space-10); }
  .nch-ed__story { grid-template-columns:15rem minmax(0,1fr); gap:var(--space-8); align-items:center; }
  .nch-ed__story--lead { grid-template-columns:1.2fr 1fr; gap:var(--space-10); padding-bottom:var(--space-10); }
  .nch-ed__story--lead h2 { font-size:var(--nch-ed-heading); }
  .nch-ed__story--text { grid-template-columns:1fr; }
  .nch-ed__community { grid-template-columns:2rem 13rem minmax(0,1fr); gap:var(--space-6); }
  .nch-ed__community > div { grid-column:3; }
  .nch-ed__community > .nch-ed__read { grid-column:3; }
  .nch-ed__community-image { grid-row:1 / span 2; }
  .nch-ed__community-image img { aspect-ratio:3/2; }
  .nch-ed__number { align-self:center; }
  .nch-ed__plan-notes { grid-template-columns:1fr 1.4fr; gap:var(--space-16); }
}
@media (min-width:1024px) {
  .nch-ed__reading { grid-template-columns:15rem minmax(0,var(--nch-measure)); gap:var(--space-16); padding-block:var(--space-12) var(--space-20); }
  .nch-ed__reading--solo { display:block; max-width:var(--nch-measure); margin:auto; }
  .nch-ed__contents { position:sticky; top:calc(var(--nch-ed-mast-height) + var(--space-6)); border-top:0; }
  .nch-ed__contents nav { max-height:75vh; overflow:auto; padding-right:var(--space-3); }
  .nch-ed__contents summary { padding-top:0; }
  .nch-ed__community { grid-template-columns:2rem 14rem minmax(0,1fr) auto; gap:var(--space-8); }
  .nch-ed__community > .nch-ed__read { grid-column:4; }
  .nch-ed__community-image { grid-row:auto; }
}
@media (hover:hover) {
  .nch-editorial :is(main, footer) a:hover { text-decoration:underline; }
}
@media print {
  .nch-ed__footer,.nch-ed__rail,.nch-ed__next { display:none; }
  .nch-ed__reading { display:block; }
  .nch-ed__prose { max-width:none; }
  .nch-ed__prose :is(.wp-block-table,.nch-ed__table-scroll) { overflow:visible; }
}
.nch-ed__context-image img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.nch-ed__context-image figcaption { line-height:var(--line-height-base); }
.nch-ed__prose [id], #main-content { scroll-margin-top:calc(var(--nch-ed-mast-height) + var(--space-6)); }
/* Navy conversion, wave 1 (2026-10-30): topic pages' legacy components in the guide palette */
.nch-ed__prose :is(ul,ol) { margin-inline:0; } /* the theme's 3em list margin indented lists 84px on phones */
.nch-ed__prose .nch-ed__note { background:var(--nch-bone); border-left:3px solid var(--nch-sand); padding:var(--space-4) var(--space-5); font-family:var(--nch-font-ui); font-size:var(--font-size-sm); line-height:var(--line-height-base); }
.nch-ed__prose .quick-facts { border-block:1px solid var(--nch-line); padding-block:var(--space-2) var(--space-6); margin-block:var(--space-8); }
.nch-ed__prose .quick-facts h2 { margin-top:var(--space-4); }
.nch-ed__prose .quick-facts ul { list-style:none; padding:0; display:grid; gap:0 var(--space-8); font-family:var(--nch-font-ui); font-size:var(--font-size-sm); line-height:var(--line-height-base); }
.nch-ed__prose .quick-facts li { margin:0; padding-block:var(--space-3); border-bottom:1px solid var(--nch-line); }
.nch-ed__prose .quick-facts strong { display:block; font-size:var(--font-size-xs); font-weight:500; color:var(--nch-ed-muted); }
.nch-ed__prose section.faq { border-top:1px solid var(--nch-line); margin-top:var(--space-12); }
.nch-ed__prose section.faq [itemprop="mainEntity"] { border-bottom:1px solid var(--nch-line); padding-block:var(--space-2) var(--space-4); }
.nch-ed__prose section.faq h3 { margin-block:var(--space-5) var(--space-3); }
.nch-ed__prose section.faq [itemprop="text"] { margin:0; font-size:var(--font-size-lg); }
.nch-ed__prose :is(.nch-team-bios, .nch-team-contact) { font-family:var(--nch-font-ui); font-size:var(--font-size-base); line-height:var(--line-height-base); }
.nch-ed__prose .nch-team-bios { display:grid; gap:var(--space-6); margin-block:var(--space-8); }
.nch-ed__prose .nch-team-bios__person { border-top:1px solid var(--nch-line); padding-top:var(--space-4); }
.nch-ed__prose .nch-team-bios__person h3 { margin-top:0; }
.nch-ed__prose .nch-team-bios__role { color:var(--nch-ed-muted); font-size:var(--font-size-sm); margin-bottom:var(--space-3); }
.nch-ed__prose hr { border:0; border-top:1px solid var(--nch-line); margin-block:var(--space-10); }
@media (min-width:768px) {
  .nch-ed__prose .quick-facts ul { grid-template-columns:1fr 1fr; }
  .nch-ed__prose .nch-team-bios { grid-template-columns:1fr 1fr; }
}
/* A development hub's map band under a page's tabs (/hoopili-map/): full bleed, the hub's own styles inside */
.nch-ed__band { margin-inline:calc(50% - 50vw); margin-top:var(--space-6); }
