/* mylifepurpose.co.uk homepage v2 (28 Oct 2026): AI-era layout. Builds on the tokens and components in site.css. */

/* Hero */
.hx { padding: clamp(36px, 6vw, 84px) 0 clamp(44px, 6vw, 80px); }
.hx-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 76px); align-items: center; }
.kicker { font-family: var(--font-sans); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--accent-hover); margin: 0 0 16px; }
.hx h1 { font-family: var(--font-serif); font-weight: 600; font-size: clamp(2.4rem, 5.4vw, 4.5rem); line-height: 1.02; letter-spacing: -.022em; color: var(--ink); margin: 0 0 22px; text-wrap: balance; }
.hx-mark { background: linear-gradient(transparent 58%, rgba(232, 168, 107, .45) 58%); -webkit-box-decoration-break: clone; box-decoration-break: clone; padding: 0 .04em; }
.hx-lede { font-family: var(--font-serif); font-size: clamp(1.1rem, 1.7vw, 1.32rem); line-height: 1.5; color: var(--ink-soft); max-width: 36ch; margin: 0 0 28px; }
.hx .waitlist-form { background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-sm); max-width: 580px; }
.hx .form-row input[type="email"] { border-color: var(--border); }
.hx .form-meta { color: var(--muted); }
.hx .form-meta a { color: var(--accent-hover); }
.hx .form-feedback.ok { background: #E8F3EC; border-color: #3E8E63; color: var(--ink); }
.hx .form-feedback.err { background: var(--accent-soft); border-color: var(--accent); color: var(--ink); }
.hx-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 0 0 24px; }
.hx-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 0 26px; border-radius: 10px; background: var(--accent); color: #FFFFFF; font: 700 1.02rem/1 var(--font-sans); text-decoration: none; }
.hx-btn:hover { background: var(--accent-hover); }
.hx-btn:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.hx-actions-note { font-size: .9rem; color: var(--muted); }
.hx-or { margin: 0 0 10px; font-size: .95rem; color: var(--ink-soft); }
.hx-figure { margin: 0; }
.hx-figure img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--radius-lg); }
.hx-figure figcaption { margin-top: 10px; font-size: .82rem; color: var(--muted); }

/* The three piles */
.piles { background: var(--forest); color: #F8F5EE; padding: clamp(48px, 7vw, 96px) 0; }
.piles-head { max-width: 760px; margin-bottom: clamp(28px, 4vw, 48px); }
.piles .kicker { color: var(--gold); }
.piles h2 { font-family: var(--font-serif); font-weight: 600; font-size: clamp(1.9rem, 3.8vw, 3rem); line-height: 1.08; letter-spacing: -.015em; margin: 0 0 16px; color: #F8F5EE; }
.piles-head p { font-size: 1.08rem; line-height: 1.6; color: #C9D3CC; margin: 0; max-width: 62ch; }
.piles-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr 1.35fr; gap: 16px; }
.pile { border: 1px solid rgba(248, 245, 238, .18); border-radius: var(--radius-lg); padding: 24px 22px 22px; display: flex; flex-direction: column; gap: 10px; }
.pile-n { font-family: var(--font-serif); font-style: italic; font-size: 1rem; color: var(--gold); }
.pile h3 { font-family: var(--font-serif); font-size: 1.35rem; line-height: 1.2; margin: 0; color: #F8F5EE; }
.pile p { margin: 0; line-height: 1.55; color: #C9D3CC; }
.pile .pile-move { margin-top: auto; padding-top: 12px; border-top: 1px solid rgba(248, 245, 238, .14); font-weight: 600; color: #F8F5EE; }
.pile-yours { background: #F8F5EE; border-color: #F8F5EE; }
.pile-yours h3, .pile-yours .pile-move { color: var(--ink); }
.pile-yours p { color: var(--ink-soft); }
.pile-yours .pile-n { color: var(--accent-hover); }
.pile-yours .pile-move { border-top-color: var(--border); }
.piles-foot { margin: 20px 0 0; font-size: .88rem; color: #9FB0A6; }
.piles-foot a { color: var(--gold); }

/* Work that keeps needing a person */
.human-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.human-first .section-intro { margin-bottom: 0; }
.human-groups { margin: 24px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.human-groups div { padding: 14px 0; border-top: 1px solid var(--border); }
.human-groups dt { font-family: var(--font-serif); font-size: 1.12rem; font-weight: 600; color: var(--ink); margin: 0 0 4px; }
.human-groups dd { margin: 0; font-size: .95rem; line-height: 1.5; color: var(--ink-soft); }
.human-first .evidence-line a { color: var(--accent-hover); }
.human-figure { margin: 0; }
.human-figure img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-lg); }

/* Section rhythm for the reused blocks */
.home-section { padding: clamp(48px, 6vw, 88px) 0; }
.home-section + .home-section { border-top: 1px solid var(--border); }
.section-intro { max-width: 720px; margin-bottom: 28px; }
.section-intro h2 { font-family: var(--font-serif); font-weight: 600; font-size: clamp(1.8rem, 3.4vw, 2.6rem); line-height: 1.1; letter-spacing: -.012em; margin: 0 0 12px; color: var(--ink); }
.section-intro p { margin: 0; font-size: 1.06rem; line-height: 1.6; color: var(--ink-soft); }
.evidence-line { margin: 14px 0 0; font-size: .95rem; line-height: 1.55; color: var(--muted); max-width: 70ch; }

/* Try one signal */
.try-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.try-figure { margin: 24px 0 0; }
.try-figure img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-lg); }
.try #energy-audit-tool { margin: 0; }

/* Guides */
.guides-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 36px; }
.guide-link { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 18px; text-decoration: none; color: inherit; align-items: start; }
.guide-link img { width: 160px; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); display: block; }
.guide-link h3 { font-family: var(--font-serif); font-size: 1.15rem; line-height: 1.3; margin: 0 0 6px; color: var(--ink); }
.guide-link:hover h3, .guide-link:focus-visible h3 { color: var(--accent-hover); text-decoration: underline; text-underline-offset: 3px; }
.guide-link p { margin: 0 0 6px; font-size: .95rem; line-height: 1.5; color: var(--ink-soft); }
.guide-meta { font-size: .8rem; color: var(--muted); }

/* Support */
.support-box { max-width: 820px; }
.support-note { margin: 18px 0 0; padding: 14px 16px; background: var(--surface-alt); border-radius: var(--radius); font-size: .95rem; line-height: 1.5; color: var(--ink); max-width: 820px; }

.hx a:focus-visible, .home-section a:focus-visible, .guide-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

@media (max-width: 1024px) {
  .hx-grid, .try-grid, .human-grid { grid-template-columns: 1fr; }
  .hx-figure { max-width: 560px; }
  .piles-list, .guides-list { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .guide-link { grid-template-columns: 104px minmax(0, 1fr); gap: 14px; }
  .guide-link img { width: 104px; }
  .hx .form-row button, .hx-btn { width: 100%; }
  .human-groups { grid-template-columns: 1fr; }
}
