/* v0.39.4 LWN Page Section Framework visual consolidation.
   Existing fields and data-lwn-sections="v0390" remain unchanged. */

.lwn-section-page-template-v0390 {
  --lwn-green: #07351f;
  --lwn-ink: #173f2b;
  --lwn-gold: #b68526;
  --lwn-cream: #f7f0df;
  --lwn-paper: #fffdf8;
  --lwn-line: rgba(20, 58, 42, .18);
  background: #fff;
  overflow-x: hidden;
}
.lwn-section-page-template-v0390 * { box-sizing: border-box; }

.lwn-page-hero-v0390 {
  min-height: var(--lwn-hero-guide-min, clamp(34rem, 58vh, 42rem));
  display: flex;
  align-items: center;
  background-image:
    var(--lwn-hero-overlay-model),
    var(--lwn-section-hero-image);
  background-size: cover;
  background-position: center;
  color: var(--lwn-hero-foreground, #fff8e8);
}

.lwn-page-hero-inner-v0390 {
  width: var(--lwn-shell-width);
  max-width: var(--lwn-shell-max);
  margin-inline: auto;
}

.lwn-kicker-v0390 {
  margin: 0 0 1rem;
  color: var(--lwn-hero-accent, var(--lwn-gold));
  font-size: var(--lwn-hero-kicker-size, .76rem);
  line-height: 1.2;
  letter-spacing: var(--lwn-hero-kicker-spacing, .22em);
  text-transform: uppercase;
  font-weight: 800;
}

.lwn-page-hero-v0390 h1 {
  margin: 0 0 1.25rem;
  max-width: 12ch;
  color: var(--lwn-hero-foreground, #fff8e8);
  font-family: var(--lwn-hero-font);
  font-size: clamp(3.2rem, 5.5vw, 5.8rem);
  line-height: .92;
  letter-spacing: -.05em;
}

.lwn-page-hero-v0390 p {
  max-width: var(--lwn-hero-body-max, 46rem);
  font-size: var(--lwn-hero-body-size, 1.2rem);
  line-height: var(--lwn-hero-body-line-height, 1.6);
}

.lwn-hero-actions-v0390 { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.75rem; }
.lwn-button-v0390 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--lwn-action-min-height, 3rem);
  padding: var(--lwn-action-padding, .85rem 1.35rem);
  border-radius: var(--lwn-action-radius, 999px);
  font-weight: 800;
  letter-spacing: .04em;
  text-decoration: none;
}
.lwn-button-primary-v0390 { background: var(--lwn-action-primary, #3d6f33); color: #fff; }
.lwn-button-secondary-v0390 { background: var(--lwn-action-secondary, #fff8e8); color: var(--lwn-action-secondary-ink, var(--lwn-green)); }

.lwn-sections-v0390 {
  width: var(--lwn-shell-width);
  max-width: var(--lwn-shell-max);
  margin: 0 auto;
  padding: clamp(4rem, 6vw, 6rem) 0 clamp(4rem, 7vw, 7rem);
}

.lwn-section-v0390 { margin-bottom: clamp(4rem, 7vw, 7rem); }

.lwn-intro-split-v0390 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .92fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.lwn-intro-copy-v0390 h2,
.lwn-section-heading-v0390 h2,
.lwn-panel-v0390 h2,
.lwn-cta-strip-v0390 h2 {
  margin: 0 0 .6em;
  color: var(--lwn-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.4rem, 4.4vw, 5rem);
  line-height: .98;
  letter-spacing: -.045em;
}

.lwn-lead-v0390 { font-size: clamp(1.16rem, 1.55vw, 1.45rem); line-height: 1.58; color: var(--lwn-ink); }
.lwn-section-page-template-v0390 p, .lwn-section-page-template-v0390 li { font-size: 1.05rem; line-height: 1.75; }
.lwn-intro-image-v0390 { margin: 0; }
.lwn-intro-image-v0390 img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  box-shadow: 0 28px 70px rgba(18, 45, 31, .10);
}
.lwn-section-heading-v0390 { max-width: 850px; margin-bottom: clamp(2rem, 4vw, 4rem); }

.lwn-step-grid-v0390 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: stretch;
}
.lwn-step-card-v0390 {
  min-height: 100%;
  background: var(--lwn-paper);
  border: 1px solid var(--lwn-line);
  padding: clamp(1.25rem, 2vw, 1.8rem);
}
.lwn-step-card-v0390 span { display: inline-flex; color: var(--lwn-gold); font-weight: 800; letter-spacing: .14em; margin-bottom: 1rem; }
.lwn-step-card-v0390 h3 {
  margin: 0 0 .7rem;
  color: var(--lwn-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 2.4vw, 2.65rem);
  line-height: 1;
  letter-spacing: -.035em;
}
.lwn-step-card-v0390 p { margin-bottom: 0; font-size: 1rem; line-height: 1.65; }

.lwn-split-panels-v0390 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.2rem, 2vw, 1.65rem); }
.lwn-panel-v0390 { background: var(--lwn-cream); border: 1px solid var(--lwn-line); padding: clamp(1.75rem, 3.5vw, 3.4rem); }
.lwn-panel-dark-v0390 { background: var(--lwn-green); color: #fff8e8; }
.lwn-panel-dark-v0390 h2, .lwn-panel-dark-v0390 p, .lwn-panel-dark-v0390 .lwn-kicker-v0390 { color: #fff8e8; }

.lwn-cta-strip-v0390 { max-width: 960px; border-top: 1px solid var(--lwn-line); padding-top: clamp(2.5rem, 5vw, 5rem); margin-bottom: 0; }
.lwn-cta-links-v0390 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin-top: 2rem; }
.lwn-cta-links-v0390 a { display: block; border: 1px solid var(--lwn-line); background: var(--lwn-paper); color: var(--lwn-ink); text-decoration: none; padding: clamp(1.25rem, 2vw, 1.8rem); }
.lwn-cta-links-v0390 strong {
  display: block;
  color: var(--lwn-green);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 2.3vw, 2.55rem);
  line-height: 1;
  letter-spacing: -.035em;
  margin-bottom: .75rem;
}
.lwn-cta-links-v0390 span { display: block; line-height: 1.65; }

@media (max-width: 1100px) {
  .lwn-intro-split-v0390, .lwn-split-panels-v0390 { grid-template-columns: 1fr; }
  .lwn-step-grid-v0390, .lwn-cta-links-v0390 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .lwn-step-grid-v0390, .lwn-cta-links-v0390 { grid-template-columns: 1fr; }
}
