/*
  Consolidated page finish
  This file is intentionally scoped by page type so it can sit safely above
  the legacy page styles while those older rules are retired gradually.
*/
:root {
  --sn-paper: #f6f0e1;
  --sn-surface: #fffdf8;
  --sn-ink: #17261f;
  --sn-green: #1d553e;
  --sn-line: #ddd3bd;
  --sn-radius: 16px;
  --sn-shadow: 0 18px 42px rgba(37, 54, 42, .08);
  --sn-space-1: 8px;
  --sn-space-2: 16px;
  --sn-space-3: 24px;
  --sn-space-4: 40px;
  --sn-space-5: 64px;
}

/* Shared public navigation and footer finish. */
.page-editorial .site,
.page-commercial .site {
  min-height: 82px;
  background: rgba(246, 240, 225, .96);
  border-bottom: 1px solid rgba(51, 73, 57, .11);
}
.page-editorial .site > .wrap,
.page-commercial .site > .wrap {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sn-space-3);
}
.page-editorial .brand,
.page-commercial .brand { gap: 10px; }
.page-editorial .brand .leaf,
.page-commercial .brand .leaf { width: 26px; height: 36px; }
.page-editorial .site-links,
.page-commercial .site-links { gap: 27px; }
.page-editorial .site-links a,
.page-commercial .site-links a { position: relative; }
.page-editorial .site-links a.active::after,
.page-commercial .site-links a.active::after {
  content: '';
  position: absolute;
  height: 2px;
  background: var(--sn-green);
  left: 0;
  right: 0;
  bottom: -10px;
}
.page-editorial .nav-cta,
.page-commercial .nav-cta {
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  font-weight: 650;
}
.page-editorial .site-right > .nav-cta:last-child,
.page-commercial .site-right > .nav-cta:last-child {
  background: var(--sn-green);
  border-color: var(--sn-green);
  color: #fff;
}
.page-editorial .site-foot,
.page-commercial .site-foot {
  background: #103d2d;
  color: #f6f0e1;
}
.page-editorial .site-foot a,
.page-commercial .site-foot a { color: #f6f0e1; }

/* Two intentional hero variants. */
.page-editorial .subhero {
  background: var(--sn-paper) !important;
  color: var(--sn-ink) !important;
  padding: 58px 0 48px !important;
}
.page-editorial .subhero .wrap {
  max-width: 960px;
  display: block;
}
.page-editorial .subhero-copy,
.page-editorial .subhero .wrap > :not(.subhero-image-panel) { max-width: 680px; }
.page-editorial .subhero h1 {
  max-width: 13ch !important;
  font-size: clamp(2.6rem, 5vw, 4.8rem) !important;
  line-height: .98;
  color: var(--sn-ink) !important;
}
.page-editorial .subhero p { max-width: 650px; color: #3f5146 !important; }
.page-editorial .subhero-image-panel { display: none; }
.page-editorial .about-belief {
  padding: 34px 0 42px;
  background: #fbf7ed;
  border-top: 1px solid rgba(51,73,57,.09);
  border-bottom: 1px solid rgba(51,73,57,.09);
}

.page-commercial .subhero {
  background: var(--sn-paper) !important;
  color: var(--sn-ink) !important;
  padding: 52px 0 54px !important;
}
.page-commercial .subhero .wrap {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr);
  align-items: center;
  gap: clamp(36px, 6vw, 90px);
}
.page-commercial .subhero h1 {
  color: var(--sn-ink) !important;
  max-width: 10ch !important;
  font-size: clamp(3rem, 5.2vw, 5.6rem) !important;
  line-height: .94;
}
.page-commercial .subhero p { color: #3f5146 !important; max-width: 620px; }
.page-commercial .subhero-image-panel {
  display: block;
  width: 100%;
  min-height: 340px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--sn-line);
  border-radius: var(--sn-radius);
  background: #ece7d8;
  box-shadow: var(--sn-shadow);
}
.page-commercial .subhero-image-panel img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; }
.page-commercial .subhero-image-panel--product img { object-fit: contain; padding: 28px; background: #f9f4e8; }

/* Page cards: white paper surfaces and measured internal rhythm. */
.page-editorial .stat-card,
.page-editorial .founder-card,
.page-editorial .standards-card,
.page-commercial .usage-card,
.page-commercial .product-panel {
  border: 1px solid var(--sn-line) !important;
  border-radius: var(--sn-radius) !important;
  background: var(--sn-surface) !important;
  box-shadow: var(--sn-shadow);
}
.page-commercial .usage-card {
  min-height: 100%;
  padding: 30px 32px !important;
  display: flex;
  flex-direction: column;
}
.page-commercial .usage-card strong,
.page-commercial .usage-card .use-case-title { color: var(--sn-ink); }
.page-commercial .usage-card p:last-child { margin-top: auto; }
.page-commercial .product-panel { padding: clamp(28px, 4vw, 48px) !important; }
.page-commercial .usage-grid { align-items: stretch; gap: 24px !important; }
.page-commercial .usage-grid > * { height: 100%; }

/* Contextual CTAs replace generic return-to-home strips. */
.contextual-cta {
  padding: 42px 20px 52px;
  text-align: center;
  background: var(--sn-paper);
}
.contextual-cta .contextual-cta__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--sn-green);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.contextual-cta .contextual-cta__link:hover { background: #123d2d; color: #fff; }

/* Dashboard pages deliberately use a denser, record-led card system. */
.page-record .db-wrap { max-width: 1120px; }
.page-record .record-loading {
  min-height: calc(100vh - 214px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: clamp(72px, 12vw, 144px);
}
.page-record .record-loading > * { max-width: 580px; }
.page-record .record-loading h1 { margin-bottom: 12px; }
.page-record .metric,
.page-record .document-tile,
.page-record .record-card,
.page-record .dashboard-card {
  border-radius: 14px;
  border-color: var(--sn-line);
  box-shadow: 0 12px 28px rgba(37,54,42,.06);
}
.page-record .dashboard-section { margin-top: 42px; }
.page-record .document-tile { background: var(--sn-surface); }

@media (max-width: 980px) {
  .page-commercial .subhero .wrap { grid-template-columns: 1fr; }
  .page-commercial .subhero h1 { max-width: 13ch !important; }
  .page-commercial .subhero-image-panel,
  .page-commercial .subhero-image-panel img { min-height: 260px; }
  .page-editorial .site-links,
  .page-commercial .site-links { gap: 14px; }
}
@media (max-width: 720px) {
  .page-editorial .site > .wrap,
  .page-commercial .site > .wrap { min-height: 68px; }
  .page-editorial .site-right,
  .page-commercial .site-right { gap: 8px; }
  .page-editorial .nav-cta,
  .page-commercial .nav-cta { min-height: 38px; padding: 0 12px; font-size: .78rem; }
  .page-commercial .subhero,
  .page-editorial .subhero { padding: 38px 0 40px !important; }
  .page-commercial .usage-card { padding: 24px !important; }
}

/* Nature Partners keeps its light commercial layout: reinforce contrast only. */
.page-partners .partner-hero .eyebrow,
.page-partners .partner-hero h1,
.page-partners .partner-hero p,
.page-partners .partner-hero__intro { color: #173b2d !important; }
.page-partners .partner-hero .subhero-cta + .subhero-cta {
  color: #123d2d !important;
  border-color: rgba(29, 85, 62, .62) !important;
  background: rgba(255, 253, 248, .92) !important;
}
.page-partners .partner-hero .subhero-cta + .subhero-cta:hover {
  background: #fffdf8 !important;
  color: #0e2b20 !important;
}
.page-partners .partner-hero-points li {
  background: rgba(255, 253, 248, .95) !important;
  border-color: rgba(29, 85, 62, .28) !important;
  color: #1f3a2d !important;
}
.page-partners .partner-hero-points strong { color: #132b20 !important; }
.page-partners .partner-hero-points span { color: #244236 !important; }
