/** Permanent public guides for the calculator. */

.nc-editorial-page .nc-site-header {
  position: sticky;
  top: 0;
  background: rgb(255 255 255 / 0.94);
  backdrop-filter: blur(14px) saturate(135%);
  -webkit-backdrop-filter: blur(14px) saturate(135%);
}

.nc-editorial { padding-bottom: clamp(var(--nc-space-16), 8vw, var(--nc-space-20)); }

.nc-editorial-hero {
  padding-block: clamp(var(--nc-space-12), 7vw, var(--nc-space-20));
  border-bottom: 1px solid var(--nc-color-border);
  background:
    linear-gradient(125deg, rgb(255 255 255 / 0.7), transparent 50%),
    var(--nc-color-accent-soft);
}

.nc-editorial-hero__inner { display: grid; gap: var(--nc-space-4); }

.nc-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: var(--nc-space-2);
  margin-bottom: var(--nc-space-8);
  color: var(--nc-color-text-muted);
  font-size: var(--nc-font-size-sm);
}

.nc-breadcrumb a { color: inherit; text-underline-offset: 0.2em; }
.nc-breadcrumb a:hover { color: var(--nc-color-accent); }

.nc-editorial-hero h1 {
  max-width: 21ch;
  margin: 0;
  font-size: clamp(2.4rem, 5vw, 4.5rem);
  line-height: 1.04;
  letter-spacing: -0.052em;
  text-wrap: balance;
}

.nc-editorial-hero__inner > p:last-child {
  max-width: 67ch;
  margin: var(--nc-space-2) 0 0;
  color: var(--nc-color-text-muted);
  font-size: clamp(var(--nc-font-size-lg), 1.8vw, var(--nc-font-size-xl));
  line-height: 1.65;
}

.nc-editorial-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(17rem, 0.65fr);
  gap: clamp(var(--nc-space-10), 8vw, var(--nc-space-20));
  align-items: start;
  padding-block: clamp(var(--nc-space-12), 8vw, var(--nc-space-20));
}

.nc-editorial-article { min-width: 0; }

.nc-editorial-article section {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: 0 var(--nc-space-4);
  padding-block: var(--nc-space-12);
  border-bottom: 1px solid var(--nc-color-border);
}

.nc-editorial-article section:first-child { padding-top: 0; }
.nc-editorial-article section:last-child { border-bottom: 0; }
.nc-editorial-article section > :not(.nc-editorial-index) { grid-column: 2; }

.nc-editorial-index {
  grid-column: 1;
  grid-row: 1 / span 5;
  margin: 0;
  color: var(--nc-color-accent);
  font-family: var(--nc-font-mono);
  font-size: var(--nc-font-size-xs);
  font-weight: var(--nc-font-weight-bold);
}

.nc-editorial-article h2 {
  max-width: 24ch;
  margin: 0 0 var(--nc-space-5);
  font-size: clamp(1.65rem, 3vw, 2.4rem);
  line-height: 1.15;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.nc-editorial-article p:not(.nc-editorial-index) {
  max-width: var(--nc-size-reading);
  margin: 0;
  color: var(--nc-color-text-muted);
  font-size: var(--nc-font-size-lg);
  line-height: 1.75;
}

.nc-editorial-article p + p { margin-top: var(--nc-space-4); }

.nc-editorial-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: var(--nc-space-2) var(--nc-space-5);
  align-items: center;
  margin-top: var(--nc-space-8);
  padding: var(--nc-space-6);
  border: 1px solid var(--nc-color-border);
  border-radius: var(--nc-radius-surface);
  background: var(--nc-color-surface);
  box-shadow: var(--nc-shadow-surface);
}

.nc-editorial-result span { color: var(--nc-color-text-muted); font-size: var(--nc-font-size-sm); }
.nc-editorial-result i { width: 2.5rem; height: 1px; background: var(--nc-color-border-strong); }
.nc-editorial-result i::after { display: block; width: 0.45rem; height: 0.45rem; margin: -0.22rem 0 0 auto; border-top: 1px solid var(--nc-color-border-strong); border-right: 1px solid var(--nc-color-border-strong); content: ""; transform: rotate(45deg); }
.nc-editorial-result strong { font-size: var(--nc-font-size-lg); }
.nc-editorial-result small { grid-column: 3; color: var(--nc-color-text-muted); }

.nc-editorial-aside {
  position: sticky;
  top: 7rem;
  display: grid;
  gap: var(--nc-space-5);
  padding: var(--nc-space-8);
  border: 1px solid var(--nc-color-border);
  border-radius: var(--nc-radius-surface);
  background: var(--nc-color-surface);
  box-shadow: var(--nc-shadow-surface);
}

.nc-editorial-aside h2 { margin: 0; font-size: var(--nc-font-size-2xl); line-height: 1.2; letter-spacing: -0.03em; }
.nc-editorial-aside > p:not(.nc-eyebrow) { margin: 0; color: var(--nc-color-text-muted); line-height: var(--nc-line-height-body); }
.nc-editorial-aside ul { display: grid; gap: var(--nc-space-3); margin: 0; padding: 0; list-style: none; }
.nc-editorial-aside li { position: relative; padding-left: var(--nc-space-5); }
.nc-editorial-aside li::before { position: absolute; top: 0.62em; left: 0; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--nc-color-accent); content: ""; }
.nc-editorial-aside .nc-button { width: 100%; margin-top: var(--nc-space-2); }

.nc-method-list { display: grid; gap: var(--nc-space-3); margin: 0; padding: 0; list-style: none; counter-reset: method; }
.nc-method-list li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--nc-space-1) var(--nc-space-3); padding: var(--nc-space-4); border-left: 2px solid var(--nc-color-accent); background: var(--nc-color-surface); counter-increment: method; }
.nc-method-list li::before { grid-row: 1 / 3; color: var(--nc-color-accent); font-family: var(--nc-font-mono); font-size: var(--nc-font-size-xs); font-weight: var(--nc-font-weight-bold); content: "0" counter(method); }
.nc-method-list span { color: var(--nc-color-text-muted); }

.nc-reference-list { display: grid; margin: var(--nc-space-6) 0 0; padding: 0; border: 1px solid var(--nc-color-border); border-radius: var(--nc-radius-surface); background: var(--nc-color-surface); list-style: none; }
.nc-reference-list li { display: grid; grid-template-columns: minmax(10rem, 0.7fr) minmax(0, 1.3fr); gap: var(--nc-space-4); padding: var(--nc-space-4) var(--nc-space-5); }
.nc-reference-list li + li { border-top: 1px solid var(--nc-color-border); }
.nc-reference-list span { color: var(--nc-color-text-muted); }

.nc-editorial-related { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--nc-color-border); border-radius: var(--nc-radius-surface); background: var(--nc-color-surface); }
.nc-editorial-related a { display: grid; gap: var(--nc-space-2); padding: var(--nc-space-6); color: var(--nc-color-text); text-decoration: none; }
.nc-editorial-related a + a { border-left: 1px solid var(--nc-color-border); }
.nc-editorial-related a:hover { background: var(--nc-color-accent-soft); }
.nc-editorial-related a:focus-visible { outline-offset: -3px; }
.nc-editorial-related small { color: var(--nc-color-accent); font-size: var(--nc-font-size-xs); font-weight: var(--nc-font-weight-bold); letter-spacing: 0.08em; text-transform: uppercase; }
.nc-editorial-related strong { font-size: var(--nc-font-size-lg); }

/* Methodology owns its reading rhythm; do not change the other public guides. */
.nc-methodology { padding-bottom: var(--nc-space-12); }
.nc-methodology .nc-editorial-layout { padding-block: var(--nc-space-12); gap: var(--nc-space-12); }
.nc-methodology .nc-editorial-article > section { row-gap: var(--nc-space-4); padding-block: var(--nc-space-8); }
.nc-methodology .nc-editorial-article > section:first-child { padding-top: 0; }
.nc-methodology .nc-editorial-article > section:last-child { padding-bottom: 0; }
.nc-methodology .nc-editorial-article h2,
.nc-methodology .nc-editorial-article p:not(.nc-editorial-index),
.nc-methodology .nc-reference-list { margin: 0; }
.nc-methodology .nc-reference-list li { gap: var(--nc-space-3); padding: var(--nc-space-4); line-height: 1.5; }
.nc-methodology :is(.nc-reference-list, .nc-method-list) > li { min-width: 0; max-width: none; }
.nc-methodology .nc-editorial-aside { gap: var(--nc-space-4); padding: var(--nc-space-6); }
.nc-methodology .nc-editorial-aside .nc-button { margin-top: 0; }

@media (max-width: 54rem) {
  .nc-editorial-layout { grid-template-columns: minmax(0, 1fr); }
  .nc-editorial-aside { position: static; }
}

@media (max-width: 47.99rem) {
  .nc-methodology { padding-bottom: var(--nc-space-8); }
  .nc-methodology .nc-editorial-layout { padding-block: var(--nc-space-8); gap: var(--nc-space-8); }
  .nc-methodology .nc-editorial-article > section { grid-template-columns: 1rem minmax(0, 1fr); column-gap: var(--nc-space-3); padding-block: var(--nc-space-6); }
  .nc-methodology .nc-reference-list li { gap: var(--nc-space-2); }
  .nc-editorial-hero { padding-block: var(--nc-space-10) var(--nc-space-12); }
  .nc-breadcrumb { margin-bottom: var(--nc-space-4); }
  .nc-editorial-hero h1 { font-size: clamp(2.2rem, 10vw, 3rem); }
  .nc-editorial-hero__inner > p:last-child,
  .nc-editorial-article p:not(.nc-editorial-index) { font-size: var(--nc-font-size-md); }
  .nc-editorial-layout { gap: var(--nc-space-10); padding-block: var(--nc-space-12); }
  .nc-editorial-article section { grid-template-columns: 1.75rem minmax(0, 1fr); padding-block: var(--nc-space-10); }
  .nc-editorial-result { grid-template-columns: minmax(0, 1fr); }
  .nc-editorial-result i { width: 1px; height: var(--nc-space-5); margin-left: var(--nc-space-2); }
  .nc-editorial-result i::after { margin: auto 0 0 -0.2rem; border: 0; border-right: 1px solid var(--nc-color-border-strong); border-bottom: 1px solid var(--nc-color-border-strong); transform: rotate(45deg); }
  .nc-editorial-result small { grid-column: 1; }
  .nc-editorial-aside { padding: var(--nc-space-6); }
  .nc-reference-list li { grid-template-columns: minmax(0, 1fr); gap: var(--nc-space-1); }
  .nc-editorial-related { grid-template-columns: minmax(0, 1fr); }
  .nc-editorial-related a + a { border-top: 1px solid var(--nc-color-border); border-left: 0; }
}
