/* =========================================================================
   Intenteon Homepage — "Warm Editorial" (phase-1: homepage only)
   -------------------------------------------------------------------------
   Every selector is scoped under the .home root class (set on <body>) so
   nothing leaks into the shared styles.css used by the other 21 pages.
   This file is loaded AFTER styles.css, so its .home-scoped rules win by
   specificity where they intentionally override shared components (nav,
   footer, news cards).

   Surface model: a single LIGHT editorial canvas (warm ivory). Interactive
   blue is ground-dependent per brand canon (D2):
     - #2C6FAA  — interactive/text on LIGHT grounds (the whole page body)
     - #4DA6E0  — decoration/accent on DARK grounds ONLY (belief band,
                  the Forge navy tile, and the navy footer). Never used as
                  text on a light ground (fails AA there).
   No external font/network requests: body/UI font is the site's self-hosted
   "Inter"; display headings use a system serif stack.
   ========================================================================= */

.home {
  --paper:       #F7F4EE;
  --paper-deep:  #F1EBDF;
  --ink:         #0C1C2E;
  --ink-soft:    #1A3555;
  --blue:        #2C6FAA;   /* interactive on LIGHT grounds only */
  --blue-deep:   #256199;   /* interactive/text on the deeper ivory ground #F1EBDF — 5.45:1 AA; sanctioned canon color (GH #78) */
  --blue-light:  #4DA6E0;   /* decoration/accent on DARK grounds only */
  --hair:        #E4DDCE;
  --hair-strong: #D8CFBC;
  --muted:       #6B6154;
  --card:        #FBF9F4;

  --we-serif: ui-serif, 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, 'Times New Roman', serif;
  --we-sans:  'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  --we-edge: clamp(1.25rem, 5vw, 5.5rem);
  --we-maxw: 1200px;
}

/* Force the warm ivory canvas even under prefers-color-scheme: dark.
   The rest of the site is dark-mode aware; the homepage is intentionally a
   single light editorial surface for phase-1. */
body.home {
  background: var(--paper);
  color: var(--ink);
}

/* ---- homepage content root (wraps everything inside <main>) ---- */
.home .we-root {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--we-sans);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-size: 17px;
}
.home .we-root *,
.home .we-root *::before,
.home .we-root *::after { box-sizing: border-box; }

.home .we-root p { margin: 0; }
.home .we-root h1,
.home .we-root h2,
.home .we-root h3 { margin: 0; font-weight: 500; }
.home .we-root a:where(:not([class])) { color: inherit; text-decoration: none; }
.home .we-root img,
.home .we-root svg { max-width: 100%; }

/* Balanced heading wrapping (a11y / typography) */
.home .we-hero h1,
.home .we-h2,
.home .we-belief blockquote,
.home .we-ctaband h2,
.home .we-pillar h3,
.home .we-sol-name,
.home .we-insights-head .we-h2 { text-wrap: balance; }

/* ---- shared layout ---- */
.home .we-wrap {
  max-width: var(--we-maxw);
  margin-inline: auto;
  padding-inline: var(--we-edge);
  width: 100%;
}

.home .we-kicker {
  font-family: var(--we-sans);
  font-size: 0.72rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
}

.home .we-h2 {
  font-family: var(--we-serif);
  font-size: clamp(2rem, 4.4vw, 3.15rem);
  line-height: 1.06;
  letter-spacing: -0.015em;
  color: var(--ink);
}

/* ---- buttons ---- */
.home .we-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.55em;
  font-family: var(--we-sans);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  padding: 0.85em 1.5em;
  border-radius: 999px;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;   /* class-bearing anchor: the classless reset no longer covers it */
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.home .we-btn-primary {
  background: var(--blue);
  color: #fff;
  border-color: var(--blue);
}
.home .we-btn-primary:hover { background: var(--ink-soft); border-color: var(--ink-soft); }
.home .we-btn-ghost {
  background: transparent;
  color: var(--ink);
  border-color: #8F7D5F;   /* WCAG 1.4.11 >=3:1 non-text on all ivory grounds (paper 3.63:1, card 3.79:1, deep #F1EBDF 3.36:1); #9A8A6B was only 2.84:1 on the deep ground. Kept in sync with warm.css (GH #78). */
}
.home .we-btn-ghost:hover { border-color: var(--ink); }
.home .we-btn .we-arrow { transition: transform .2s ease; }
.home .we-btn:hover .we-arrow { transform: translateX(3px); }

/* Visible focus for keyboard users across the whole homepage */
.home :focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 3px;
  border-radius: 4px;
}

/* =========================================================================
   NAVIGATION — restyle the shared .nav for the warm-editorial surface.
   All structure/links/aria in the markup are preserved; this only recolors.
   Forces the LIGHT logo + ivory chrome even under prefers-color-scheme: dark.
   ========================================================================= */
.home .nav {
  background: rgba(247, 244, 238, 0.86);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid var(--hair);
}
.home .nav.scrolled { box-shadow: 0 10px 30px -24px rgba(12, 28, 46, 0.5); }

/* Keep the light wordmark visible in both color schemes on the homepage */
.home .nav-logo-light { display: block; }
.home .nav-logo-dark  { display: none; }

.home .nav-link {
  color: var(--ink-soft);
  font-family: var(--we-sans);
  border-bottom-color: transparent;
}
.home .nav-link:hover,
.home .nav-link.active {
  color: var(--blue);
  border-bottom-color: var(--blue);
}

.home .nav-dropdown-toggle::after { color: var(--muted); }
.home .nav-dropdown-menu {
  background: var(--card);
  border: 1px solid var(--hair-strong);
  box-shadow: 0 24px 44px -32px rgba(12, 28, 46, 0.45);
}
.home .nav-dropdown-item { color: var(--ink-soft); }
.home .nav-dropdown-item:hover { background: var(--paper-deep); color: var(--ink); }

.home .nav-utility a { color: var(--muted); }
.home .nav-utility a:hover { color: var(--ink); }

.home .nav-hamburger span { background: var(--ink); }

@media (max-width: 768px) {
  .home .nav-links.open {
    background: var(--paper);
    border-bottom: 1px solid var(--hair);
    box-shadow: 0 24px 44px -30px rgba(12, 28, 46, 0.4);
  }
  .home .nav-links.open .nav-utility { border-top: 1px solid var(--hair); }
  .home .nav-dropdown-menu { background: transparent; border: none; box-shadow: none; }
}

/* =========================================================================
   HERO
   ========================================================================= */
.home .we-hero {
  padding-block: clamp(3.5rem, 9vw, 8rem) clamp(3rem, 7vw, 6rem);
  position: relative;
  overflow: hidden;
}
.home .we-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
}
.home .we-hero h1 {
  font-family: var(--we-serif);
  font-weight: 500;
  font-size: clamp(2.9rem, 8vw, 5.6rem);
  line-height: 1.02;
  letter-spacing: -0.025em;
  color: var(--ink);
  max-width: 15ch;
  margin: 0.4rem 0 0;
  overflow-wrap: break-word;
  hyphens: auto;
}
.home .we-hero h1 .we-em {
  font-style: italic;
  color: var(--ink-soft);
}
.home .we-hero-sub {
  margin-top: 1.9rem;
  font-size: clamp(1.05rem, 1.7vw, 1.28rem);
  line-height: 1.6;
  color: var(--muted);
  max-width: 54ch;
}
.home .we-hero-cta {
  margin-top: 2.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}
.home .we-hero-meta {
  margin-top: 3.4rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--hair);
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 2.4rem;
  align-items: baseline;
}
.home .we-hero-meta .we-kicker { color: var(--muted); }
.home .we-hero-meta .we-serving {
  font-family: var(--we-serif);
  font-size: 1.05rem;
  color: var(--ink-soft);
}
.home .we-hero-meta .we-serving b { font-weight: 500; font-style: italic; }

/* faint editorial folio mark, top-right of hero */
.home .we-folio {
  position: absolute;
  top: clamp(2rem, 6vw, 5rem);
  right: var(--we-edge);
  font-family: var(--we-serif);
  font-style: italic;
  font-size: 0.9rem;
  color: var(--hair-strong);
  letter-spacing: 0.04em;
  text-align: right;
  line-height: 1.4;
  pointer-events: none;
}
@media (max-width: 800px) { .home .we-folio { display: none; } }

/* =========================================================================
   BELIEF BAND (signature dark ground)
   ========================================================================= */
.home .we-belief {
  background: var(--ink);
  color: var(--paper);
  padding-block: clamp(4.5rem, 11vw, 8.5rem);
  position: relative;
}
.home .we-belief::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(120% 90% at 15% 0%, rgba(44, 111, 170, 0.20), transparent 55%),
    radial-gradient(90% 80% at 100% 100%, rgba(26, 53, 85, 0.55), transparent 60%);
  pointer-events: none;
}
.home .we-belief .we-wrap { position: relative; }
.home .we-belief-mark {
  font-family: var(--we-serif);
  font-size: 5rem;
  line-height: 0.7;
  color: var(--blue-light);   /* on dark ground — allowed */
  opacity: 0.55;
  height: 2.4rem;
}
.home .we-belief blockquote {
  margin: 1.4rem 0 0;
  font-family: var(--we-serif);
  font-weight: 500;
  font-size: clamp(1.8rem, 4.6vw, 3.4rem);
  line-height: 1.18;
  letter-spacing: -0.01em;
  color: #FBF8F2;
  max-width: 20ch;
}
.home .we-belief blockquote .we-turn {
  display: block;
  color: var(--blue-light);   /* on dark ground — allowed */
  font-style: italic;
}
.home .we-belief cite {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin-top: 2.6rem;
  font-style: normal;
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(247, 244, 238, 0.62);
}
.home .we-belief cite::before {
  content: "";
  width: 42px;
  height: 1px;
  background: var(--blue-light);
  flex: none;
}

/* =========================================================================
   SECTION SCAFFOLD
   ========================================================================= */
.home .we-section { padding-block: clamp(4rem, 9vw, 7.5rem); }
.home .we-section-deep { background: var(--paper-deep); }
/* Blue text/links on the deeper ivory ground use the darker token for AA contrast */
.home .we-section-deep .we-faq-item a,
.home .we-section-deep .we-sol-tag { color: var(--blue-deep); }
.home .we-section-head { max-width: 46ch; }
.home .we-section-head .we-h2 { margin-top: 0.9rem; }

/* =========================================================================
   PILLARS / FOUNDATION grid (2-up hairline cards)
   ========================================================================= */
.home .we-pillars-grid {
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--hair);
  border: 1px solid var(--hair);
  border-radius: 14px;
  overflow: hidden;
}
.home .we-pillar {
  background: var(--paper);
  padding: clamp(1.75rem, 3vw, 2.6rem);
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  transition: background-color .25s ease;
}
.home .we-pillar:hover { background: var(--card); }
.home .we-pillar-idx {
  font-family: var(--we-serif);
  font-style: italic;
  font-size: 1rem;
  color: var(--blue);
}
.home .we-pillar h3 {
  font-family: var(--we-serif);
  font-size: 1.4rem;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.home .we-pillar p {
  color: var(--muted);
  font-size: 0.98rem;
  line-height: 1.6;
}
/* Riff tagline used inside foundation pillar cards */
.home .we-pillar .we-sol-tag { margin-top: 0.1rem; }
.home .we-pillar .we-sol-link { margin-top: auto; padding-top: 1.4rem; }

/* Cards on the deeper (paper-deep) ground read against a matching surface */
.home .we-section-deep .we-pillars-grid { background: var(--hair-strong); border-color: var(--hair-strong); }
.home .we-section-deep .we-pillar { background: var(--paper-deep); }
.home .we-section-deep .we-pillar:hover { background: var(--card); }

/* =========================================================================
   PRODUCT / SOLUTION cards (3-up)
   ========================================================================= */
.home .we-sol-grid {
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
.home .we-sol-card {
  background: var(--card);
  border: 1px solid var(--hair);
  border-radius: 16px;
  padding: clamp(1.6rem, 2.6vw, 2.1rem);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.home .we-sol-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 44px -32px rgba(12, 28, 46, 0.4);
  border-color: var(--hair-strong);
}
.home .we-sol-name {
  font-family: var(--we-serif);
  font-size: 1.5rem;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.home .we-sol-tag {
  margin-top: 0.5rem;
  font-family: var(--we-serif);
  font-style: italic;
  font-size: 1.02rem;
  color: var(--blue);
}
.home .we-sol-desc {
  margin-top: 1rem;
  color: var(--muted);
  font-size: 0.96rem;
  line-height: 1.6;
  flex: 1;
}
.home .we-sol-link {
  margin-top: 1.6rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ink-soft);
  align-self: flex-start;
  text-decoration: none;   /* class-bearing anchor: the classless reset no longer covers it */
}
.home .we-sol-link .we-arrow { transition: transform .2s ease; }
.home .we-sol-card:hover .we-sol-link { color: var(--blue); }
.home .we-sol-card:hover .we-sol-link .we-arrow { transform: translateX(4px); }

/* =========================================================================
   TRUST & ASSURANCE (framework alignment)
   -------------------------------------------------------------------------
   Left-aligned editorial treatment, consistent with the rest of the warm
   homepage: heading gets full section-head width (no cramped ch cap), the
   framework labels sit in one tidy, well-spaced pill row aligned to the page
   edge, and the alignment note is a supporting line beneath. Text only — no
   certification badges/seals (Intenteon is aligned, not certified).
   ========================================================================= */
.home .we-compliance .we-frameworks {
  margin-top: clamp(2rem, 4vw, 2.8rem);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7rem 0.75rem;
}
.home .we-fw {
  font-family: var(--we-sans);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--ink-soft);
  border: 1px solid var(--hair-strong);
  border-radius: 999px;
  padding: 0.6em 1.15em;
  background: var(--paper);
  white-space: nowrap;
}
.home .we-compliance-note {
  margin-top: clamp(1.6rem, 3vw, 2.1rem);
  max-width: 60ch;
  font-size: 0.9rem;
  color: var(--muted);
  line-height: 1.65;
}

/* =========================================================================
   LATEST INSIGHTS — restyle the JS-injected .card.news-card markup to the
   warm-editorial card look. The fetch/render JS is unchanged; only the
   presentation of the injected classes is overridden here (scoped to .home).
   ========================================================================= */
.home .we-insights-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.2rem;
}
.home .we-insights-links {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
}
.home .we-insights-links .we-sol-link { margin-top: 0; }
.home .we-insights-links .we-sol-link:hover { color: var(--blue); }
.home .we-insights-links .we-sol-link:hover .we-arrow { transform: translateX(4px); }

.home #latestInsights {
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
  min-height: 340px;   /* reserve ~one desktop card row so the async fetch insert doesn't shift the page (CLS) */
}
.home .we-insights-loading {
  grid-column: 1 / -1;
  text-align: center;
  padding: 2.5rem 0;
  color: var(--muted);
  font-size: 0.95rem;
}

/* Reset the shared .card padding so the image can sit flush at the top */
.home #latestInsights .news-card {
  background: var(--card);
  border: 1px solid var(--hair);
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.home #latestInsights .news-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 44px -32px rgba(12, 28, 46, 0.4);
  border-color: var(--hair-strong);
}
.home #latestInsights .news-card-image {
  margin: 0;
  height: 180px;
  border-radius: 16px 16px 0 0;
}
.home #latestInsights .news-card-image-placeholder {
  background: radial-gradient(130% 120% at 30% 20%, #1A3555 0%, #0C1C2E 60%);
  color: rgba(247, 244, 238, 0.4);
}
.home #latestInsights .news-card-body {
  padding: clamp(1.4rem, 2.4vw, 1.8rem);
}
.home #latestInsights .news-card-meta {
  color: var(--muted);
}
.home #latestInsights .news-card-tag {
  background: rgba(44, 111, 170, 0.10);
  color: var(--blue);
}
.home #latestInsights .news-card-date { color: var(--muted); }
.home #latestInsights .news-card h3 {
  font-family: var(--we-serif);
  font-size: 1.35rem;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0.2rem 0 0.6rem;
}
.home #latestInsights .news-card-link { color: inherit; text-decoration: none; }
.home #latestInsights .news-card:hover .news-card-link { color: var(--blue); }
.home #latestInsights .news-card p.small {
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.6;
}

/* =========================================================================
   FAQ
   ========================================================================= */
.home .we-faq-list {
  margin-top: clamp(2.2rem, 4.5vw, 3.2rem);
  max-width: 68ch;
  display: grid;
  gap: 0;
}
.home .we-faq-item {
  padding: clamp(1.4rem, 3vw, 2rem) 0;
  border-top: 1px solid var(--hair);
}
.home .we-faq-item:last-child { border-bottom: 1px solid var(--hair); }
.home .we-faq-item h3 {
  font-family: var(--we-serif);
  font-size: clamp(1.2rem, 2.4vw, 1.5rem);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--ink);
  text-wrap: balance;
}
.home .we-faq-item p {
  margin-top: 0.9rem;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.65;
  max-width: 64ch;
}
.home .we-faq-item a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.home .we-faq-item a:hover { text-decoration-thickness: 2px; }
/* In-prose contextual links in the (light-ground) pillars — visible, AA-safe #2C6FAA */
.home .we-pillar p a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.home .we-pillar p a:hover { text-decoration-thickness: 2px; }

/* =========================================================================
   CTA BAND (light ground)
   ========================================================================= */
.home .we-ctaband {
  text-align: center;
  padding-block: clamp(4rem, 9vw, 7rem);
  border-top: 1px solid var(--hair);
}
.home .we-ctaband h2 {
  font-family: var(--we-serif);
  font-size: clamp(2.1rem, 5vw, 3.4rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--ink);
  max-width: 18ch;
  margin-inline: auto;
}
.home .we-ctaband .we-cta-row {
  margin-top: 2.2rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.85rem;
}

/* =========================================================================
   FOOTER — the shared .footer is already deep-navy (#0C1C2E), which matches
   the warm-editorial ink ground, so it needs no recolor. We only tint the
   tagline hover accents to the dark-ground light-blue for cohesion.
   ========================================================================= */
.home .footer-brand p { color: rgba(247, 244, 238, 0.55); }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 900px) {
  .home .we-sol-grid { grid-template-columns: 1fr; }
  .home #latestInsights { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .home .we-pillars-grid { grid-template-columns: 1fr; }
  .home .we-hero-meta { flex-direction: column; gap: 0.9rem; }
}

/* =========================================================================
   REDUCED MOTION
   ========================================================================= */
@media (prefers-reduced-motion: reduce) {
  .home *,
  .home *::before,
  .home *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
