/* ONE SPACING AND ALIGNMENT SYSTEM for the whole site (24 Oct 2026, his: "text alignment, margins, padding better be
   consistent ... across website"). Loaded last, so it wins over every page's own rules.
   Width: one page width, one side margin. Rhythm: one section gap, one heading gap, one paragraph gap.
   Alignment: a section's opening head (.h-head) is centred; everything else reads from the left; on a phone,
   everything reads from the left. */
:root{
  --page:1220px; --side:28px;
  --sec:96px;           /* above and below every section */
  --head-gap:48px;      /* between a section's head and what follows */
  --eye-gap:14px;       /* between an eyebrow and its heading */
  --h-gap:18px;         /* between a heading and its first line */
  --p-gap:16px;         /* between paragraphs */
  --grid:28px;          /* between cards, rows and columns */
  --card-pad:28px;
}
@media (max-width:860px){:root{--side:20px;--sec:64px;--head-gap:32px;--grid:20px;--card-pad:22px}}

/* one width, one side margin */
.wrap,.row,.hd-in,.lh-in,.lb-in,.ft-top .in,.ft .in,.ft-note .in,.ft2-top,.ft2-mid,.ft2-bot .in{max-width:var(--page)!important;padding-left:var(--side)!important;padding-right:var(--side)!important;margin-left:auto;margin-right:auto;box-sizing:border-box}
.row .row,.col .row{padding-left:0!important;padding-right:0!important}
.art-page{padding-left:var(--side);padding-right:var(--side)}

/* one section rhythm */
.h-sec,.sec:not(.hero):not(.h-hero),.lp-num,.lp-quote,.lp-cta,.ab-ceo,.ab-mission,.d-learner,.ed-top,.list-body,.pg-fb,.h-partners{padding-top:var(--sec)!important;padding-bottom:var(--sec)!important}
.list-head{padding-top:var(--sec)!important;padding-bottom:calc(var(--sec) / 2)!important}
.lp-next{padding:0!important}
.h-hero .wrap{padding-top:calc(var(--sec) * 1.1)!important;padding-bottom:calc(var(--sec) * 1.1)!important}

/* one head: eyebrow, heading, line, then the content */
.h-head,.st-top{margin-bottom:var(--head-gap)!important}
.h-head h2,.st-top h2,.lp-h,.wy-gh h2,.ed-head h1,.d-h2,.list-head h1{margin-top:var(--eye-gap)!important;margin-bottom:var(--h-gap)!important}
.h-head p{margin-top:0!important}
.lp-h{margin-top:var(--eye-gap)!important}
.eyebrow-t,.sec-eye{margin-bottom:0!important}

/* one paragraph rhythm */
main p{margin-top:0}
.lp-body p,.lp-solve p,.ab-body p,.wy-gh p,.d-p,.lp-lt p,.it-html p,.art-body p{margin-bottom:var(--p-gap)!important}
.lp-body p:last-child,.lp-solve p:last-child,.ab-body p:last-child,.wy-gh p:last-child,.it-html p:last-child{margin-bottom:0!important}

/* one gap between things side by side */
.posts,.lp-routes,.d-others,.d-wish,.d-tiers,.ed-grid,.pg-grid,.ab-board,.people,.lp-lead,.lps,.h-stats,.d-give{gap:var(--grid)!important}
.lp-problem,.ab-story,.wy-g,.d-eft,.d-learner .wrap,.ed-top .wrap{gap:calc(var(--grid) * 2)!important}
.lp-fa,.lp-fa + .lp-fa,.ab-steps li,.ab-steps li + li,.lp-n,.lp-n + .lp-n,.ab-three figure,.ab-three figure + figure,.pg-p,.pg-p + .pg-p{padding-top:var(--card-pad)!important;padding-bottom:var(--card-pad)!important}
.d-tier,.d-card,.d-other,.d-w,.lp-route .lp-rin,.d-l-side,.d-bank,.gt-goal,.d-nw,.wy-signup,.ed-latest{padding:var(--card-pad)!important}

/* alignment: the opening head of a section is centred, everything else reads from the left */
.h-head{text-align:center!important}
.h-head .eyebrow-t{justify-content:center}
.h-head p{margin-left:auto!important;margin-right:auto!important}
main .lp-body,main .lp-pr,main .lp-solve,main .ab-body,main .ab-story,main .wy-g,main .wy-rows,main .d-eft,main .lp-lead,main .pg-p,main .pg-card,main .lp-fa,main .ab-three,main .ab-tr,main .d-tier,main .d-other,main .d-w,main .ed-item,main .card-in,main .rcard-in,main .lp-rin,main .lp-n,main .lp-feat,main .art-in{text-align:left!important}
.lp-cta,.lp-cta *{text-align:center}
.lp-quote blockquote,.lp-quote cite{text-align:center}

/* phones: everything reads from the left */
@media (max-width:860px){
  main,main *:not(.btn):not(.pill):not(.yt-play){text-align:left!important}
  main .eyebrow-t,main .sec-eye{justify-content:flex-start!important}
  main .h-head p,main .h-head h2{margin-left:0!important;margin-right:0!important}
  main .acts,main .lp-cta .acts,main .pg-fb .acts{justify-content:flex-start!important}
  main .divider{margin-left:0!important;justify-content:flex-start}
  .lp-quote blockquote::before{left:0!important;margin-left:0!important}
  .dvd,.lh-div{margin-left:0!important}
  .chips{justify-content:flex-start!important}
}
/* the reading column starts at the same left edge as every other page */
.doc main .sec:not(.photo):not(.dark) .row{max-width:var(--page)!important}
.doc main .sec:not(.photo):not(.dark) .col{max-width:820px!important;flex-basis:820px!important}
.doc main .it-html > div,.doc main .it-html div[style]{margin-left:0!important;padding-left:0!important;max-width:none!important}
.doc main ul,.doc main ol{padding-left:1.3em}
.doc main .sec.photo{padding-top:var(--sec)!important;padding-bottom:var(--sec)!important}
