/* ============================================================
   ALIGNED — scoped re-skin for the Couples page
   Neutrals-first + one Slate Blue accent · Cormorant Garamond + Jost
   Loaded after styles.css; everything scoped under .aligned-page.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=Jost:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');

.aligned-page {
  /* swap type + accent; neutrals are shared with Pursue Whole */
  --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:  "Jost", system-ui, -apple-system, sans-serif;
  --clay:      #8FA8BE;  /* Slate Blue — THE accent */
  --clay-deep: #7A95A8;  /* Slate Blue Deep */
}

/* Cormorant is lighter/airier — lift display sizes & set the italic H1 house style */
.aligned-page .page-title { font-style: italic; font-weight: 500; letter-spacing: 0; font-size: clamp(2.4rem, 5.6vw, 4.8rem); line-height: 1.06; }
.aligned-page .serif-xl, .aligned-page .section-head { font-weight: 600; letter-spacing: 0; }
.aligned-page .lead-serif { font-weight: 500; letter-spacing: 0; font-size: clamp(2rem, 4.4vw, 3.6rem); line-height: 1.22; }
/* Marriage CTA — lighter ground, smaller head, blue italic accent */
.aligned-page .mar-cta { background: #41454D; }
.aligned-page .mar-head { font-size: clamp(1.8rem, 3.6vw, 3rem); }
.aligned-page .mar-head em { font-style: italic; color: var(--clay); }
.aligned-page .mar-cta .news-desc { margin-bottom: 0; }
.aligned-page .mar-cta .news-form { row-gap: 22px; margin-top: 1.9rem; }

/* private coaching statement matches the individuals page size */
.aligned-page .coach-sm .lead-serif { font-size: clamp(1.35rem, 2.4vw, 2.1rem); line-height: 1.34; }
.aligned-page .page-title em, .aligned-page .lead-serif em, .aligned-page .pull em, .aligned-page .serif-xl em { font-style: italic; color: var(--clay-deep); }
.aligned-page .page-sub { font-style: italic; }

/* Shared chrome keeps the Pursue Whole sans so nav/footer match every page */
.aligned-page .nav-links a, .aligned-page .nav-cta,
.aligned-page .footer-links a, .aligned-page .footer-brand p, .aligned-page .footer-base { font-family: "Calibre", system-ui, -apple-system, sans-serif; }

/* Eyebrows: Jost, tracked, Slate Blue */
.aligned-page .page-eyebrow, .aligned-page .kicker { color: var(--clay-deep); font-weight: 500; letter-spacing: 0.34em; }
/* hero eyebrow: white */
.aligned-page .page-hero .page-eyebrow { color: var(--ivory); font-size: clamp(0.8rem, 1vw, 0.92rem); }

/* Body stays Jost (set via --sans on body) — keep it calm */
.aligned-page .prose p { color: var(--charcoal); }

/* Slate-blue card top-borders / step rules already flow via --clay.
   Steps stay fully black; the "lit" one turns Slate Blue instead of fading. */
.aligned-page .step { border-top-color: var(--ash); }
.aligned-page .steps[data-cycle] .step { opacity: 1; }
.aligned-page .steps[data-cycle] .step .n { color: var(--obsidian); transition: color 0.7s var(--ease); }
.aligned-page .steps[data-cycle] .step h4 { color: var(--obsidian); transition: color 0.7s var(--ease); }
.aligned-page .steps[data-cycle] .step p { color: var(--stone); transition: color 0.7s var(--ease); }
.aligned-page .steps[data-cycle] .step.is-lit { border-top-color: var(--clay); }
.aligned-page .steps[data-cycle] .step.is-lit .n,
.aligned-page .steps[data-cycle] .step.is-lit h4 { color: var(--clay-deep); }
.aligned-page .steps[data-cycle] .step.is-lit p { color: var(--clay-deep); }

/* Clearer hero photo — gradient only top & bottom so the image stays visible */
.aligned-page .page-hero .bg-photo img { opacity: 0.82; filter: grayscale(0.08) brightness(1.0); object-position: 50% 68%; }
/* Hero matches the other pages' height; cue gets clean air at the bottom */
.aligned-page .aligned-mark { margin-bottom: 1rem; }
.aligned-page .page-hero { padding-bottom: clamp(130px, 15vh, 180px); }
.aligned-page .page-hero::after {
  background:
    radial-gradient(120% 100% at 50% 46%, rgba(8,8,6,0.12) 0%, rgba(8,8,6,0.5) 94%),
    linear-gradient(180deg, rgba(8,8,6,0.52) 0%, rgba(8,8,6,0.12) 38%, rgba(8,8,6,0.16) 64%, rgba(8,8,6,0.6) 100%);
}

/* Aligned script wordmark in the hero — Slate Blue, 2× */
.aligned-mark { width: clamp(300px, 40vw, 460px); height: auto; display: block; margin: 0 auto 1.6rem; filter: drop-shadow(0 3px 24px rgba(0,0,0,0.4)); }

/* Download Conversation One — light, wide, calm */
.aligned-page .dl-band { background: linear-gradient(180deg, #EEF2F6 0%, #F7F6F2 100%); color: var(--obsidian); }
.aligned-page .dl-band .kicker { color: var(--clay-deep); }
.aligned-page .dl-band .news-fine { color: var(--stone); }
.aligned-page .dl-band .news-form input { border-color: rgba(13,13,11,0.25); color: var(--obsidian); }
.aligned-page .dl-band .news-form input::placeholder { color: var(--stone); }
.aligned-feature { grid-template-columns: 0.52fr 1.48fr; gap: clamp(28px, 4vw, 56px); }
/* form + text share the same left edge inside the feature column */
.aligned-feature .news-form { margin: 2rem 0 0; justify-content: flex-start; max-width: 560px; }
.aligned-feature .news-form input { min-width: 0; }
/* close the pale seam between the download band and the next section */
.aligned-page .dl-band { padding-bottom: clamp(32px, 3.5vw, 56px); }
.aligned-page .dl-band + .section { padding-top: clamp(28px, 3vw, 48px); }
.aligned-feature .lead-serif { font-size: clamp(1.05rem, 1.55vw, 1.45rem); line-height: 1.5; max-width: 64ch; }
.aligned-feature .af-photo { max-width: 320px; }

/* Erosion statement — spread wide, smaller, with slate dividers */
.erosion { text-align: center; }
.erosion-lead { font-family: var(--serif); font-style: italic; font-weight: 500; font-size: clamp(1.8rem, 4vw, 3.1rem); line-height: 1.16; letter-spacing: 0; }
.erosion-lead em { color: var(--clay-deep); }
.erosion-frags { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(22px, 3vw, 50px); margin: clamp(2.4rem, 4vw, 3.6rem) auto 0; max-width: 1040px; }
.erosion-frags span { display: block; position: relative; font-family: var(--sans); color: var(--stone); font-size: clamp(1.08rem, 1.4vw, 1.3rem); line-height: 1.5; padding-top: 1.5rem; }
.erosion-frags span::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 26px; height: 1px; background: var(--clay); }
@media (max-width: 760px) { .erosion-frags { grid-template-columns: 1fr; gap: 1.4rem; } }

/* divider between the erosion lines and the stats */
.sect-divider { position: relative; width: min(420px, 60%); height: 1px; background: var(--ash); margin: clamp(3rem, 5vw, 4.6rem) auto 0; }
.sect-divider::after { content: ""; position: absolute; left: 50%; top: 50%; width: 7px; height: 7px; transform: translate(-50%, -50%) rotate(45deg); background: var(--linen); border: 1px solid var(--clay); }

/* The state of marriage today — stats from the cohort deck */
.stats-eyebrow { font-family: var(--serif); font-style: italic; color: var(--clay-deep); font-size: clamp(1rem, 1.3vw, 1.2rem); margin-top: clamp(1.8rem, 3vw, 2.8rem); }
.stats-head { font-family: var(--serif); font-weight: 500; font-size: clamp(2rem, 4.4vw, 3.6rem); line-height: 1.1; letter-spacing: 0; margin-top: 0.5rem; }
.stats-head em { font-style: italic; color: var(--clay-deep); }
.stats-row { display: grid; grid-template-columns: repeat(4, 1fr); margin: clamp(2.2rem, 3.6vw, 3.6rem) auto 0; max-width: 1040px; }
.stat { position: relative; padding: 0 clamp(14px, 1.8vw, 30px); border-left: 1px solid var(--ash); display: flex; flex-direction: column; align-items: center; }
.stat:first-child { border-left: none; }
/* "only" floats above 36% so all numerals share the same baseline */
.stat-only { position: absolute; top: -1.6em; left: 0; right: 0; text-align: center; font-family: var(--serif); font-style: italic; color: var(--clay-deep); font-size: clamp(1rem, 1.3vw, 1.25rem); }
.stat-n { font-family: var(--serif); font-weight: 500; font-size: clamp(2.4rem, 4.6vw, 4rem); line-height: 1.1; color: var(--obsidian); border-bottom: 1px solid var(--clay); padding-bottom: 0.12em; margin-bottom: 0.7rem; }
.stat-c { font-family: var(--sans); font-size: clamp(0.66rem, 0.85vw, 0.8rem); letter-spacing: 0.18em; text-transform: uppercase; color: var(--stone); line-height: 1.7; text-align: center; }
.stats-reasons-h { margin-top: clamp(2.4rem, 4vw, 3.8rem); font-family: var(--sans); font-weight: 500; font-size: 0.78rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--clay-deep); }
.stats-reasons { font-family: var(--serif); font-style: italic; font-size: clamp(1.05rem, 1.5vw, 1.4rem); color: var(--charcoal); margin-top: 0.7rem; }
@media (max-width: 760px) { .stats-row { grid-template-columns: 1fr 1fr; gap: 1.8rem 0; } .stat:nth-child(3) { border-left: none; } }

/* Conversation One preview */
.aligned-feature { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(40px, 6vw, 84px); align-items: center; text-align: left; }
.aligned-feature .af-photo { border-radius: 4px; overflow: hidden; box-shadow: 0 45px 90px -50px rgba(13,13,11,0.6); border: 1px solid rgba(143,168,190,0.4); }
.aligned-feature .af-photo img { width: 100%; height: auto; display: block; }
.aligned-page .section.dark .aligned-feature .news-form { justify-content: flex-start; margin-left: 0; }
@media (max-width: 820px) { .aligned-feature { grid-template-columns: 1fr; text-align: center; } .aligned-feature .af-photo { max-width: 360px; margin: 0 auto; } .aligned-page .section.dark .aligned-feature .news-form { justify-content: center; } }

/* Slate-blue buttons that fit Aligned (override warm clay solids on this page) */
.aligned-page .solid-btn[style*="--clay"] , .aligned-page .solid-btn { }
.aligned-page .news-form button { background: var(--clay); color: var(--obsidian); }
.aligned-page .news-form button:hover { background: var(--ivory); }
.aligned-page .news-form input:focus { border-color: var(--clay); }

/* A quiet Slate Blue hairline rule under eyebrows — Aligned's section divider feel */
.aligned-page .section .wrap > .kicker::after,
.aligned-page .page-hero .page-eyebrow::after { content: ""; display: block; width: 34px; height: 1px; background: var(--clay); margin: 0.9rem auto 0; }
.aligned-page .section:not(.center) .wrap > .kicker::after { margin-left: 0; }
