/* CODE:BLACK's purpose and audience series. Photos carry the colour. */
.purpose-page{background:#0b0b0b;color:#f2f2f2}
.purpose-page h1,.purpose-page h2,.purpose-page h3{font-weight:590;letter-spacing:-.045em;text-wrap:balance}
.page-kicker{font-size:13px;line-height:1.5;letter-spacing:0;color:#a6a6a6;text-transform:none}
.page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.page-actions .button{border-radius:999px;padding:16px 23px;min-height:47px}
.page-actions .text-link{line-height:1.5;padding-bottom:5px;color:#d9d9d9}
.audience-hero{max-width:920px;margin:0 auto;padding:108px 32px 80px;text-align:center}
.audience-hero h1{font-size:clamp(46px,5.8vw,80px);line-height:1.07;max-width:850px;margin:24px auto 28px}
.audience-hero>p:not(.page-kicker){font-size:19px;line-height:1.65;color:#aaa;max-width:590px;margin:0 auto}
.audience-hero .page-actions{justify-content:center;margin-top:34px}
.audience-collection{max-width:1440px;margin:0 auto;padding:0 48px 100px}
.audience-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 32px}
.audience-card{display:block;min-width:0}
.audience-card .audience-image{overflow:hidden;background:#181818}
.audience-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;filter:none;transition:transform .3s}
.audience-card:hover img{transform:scale(1.025)}
.audience-card h2,.audience-card h3{font-size:27px;line-height:1.22;margin:24px 0 10px;font-weight:590;letter-spacing:-.04em}
.audience-card p{color:#aaa;font-size:15px;line-height:1.65;max-width:440px}
.audience-card .audience-read{display:inline-block;margin-top:18px;padding-bottom:5px;border-bottom:1px solid #666;font-size:13px;color:#dedede}
.audience-note{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:80px;max-width:1440px;margin:0 auto;padding:90px 48px 110px;border-top:1px solid #2d2d2d}
.audience-note h2{font-size:clamp(34px,4vw,56px);line-height:1.12;max-width:580px}
.audience-note p{font-size:18px;line-height:1.7;color:#b4b4b4;max-width:490px}
.audience-note .text-link{margin-top:28px}
.audience-feature-image{max-width:1440px;margin:0 auto;padding:0 48px}
.audience-feature-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;filter:none}
.audience-feature-image figcaption{font-size:12px;color:#888;padding-top:14px}
.audience-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;max-width:1440px;margin:0 auto;padding:85px 48px 100px}
.audience-outcomes article{padding-top:26px;border-top:1px solid #333}
.audience-outcomes h2{font-size:27px;line-height:1.2;margin-bottom:19px}
.audience-outcomes p{font-size:16px;line-height:1.65;color:#aaa}
.audience-example{display:grid;grid-template-columns:1fr 1fr;gap:76px;max-width:1440px;margin:0 auto;padding:50px 48px 110px;align-items:start}
.audience-example img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;filter:none}
.audience-example h2{font-size:clamp(34px,3.5vw,50px);line-height:1.12;margin:22px 0 24px}
.audience-example .example-text{color:#b4b4b4;line-height:1.75;font-size:17px}
.audience-example .example-tools{font-size:12px;line-height:1.75;color:#aaa;margin-top:26px;padding-top:22px;border-top:1px solid #333}
.audience-example .text-link{margin-top:25px}
.audience-steps{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;max-width:1440px;margin:0 auto;padding:85px 48px 100px;border-top:1px solid #333}
.audience-steps h2{font-size:clamp(36px,4vw,56px);line-height:1.12;max-width:390px}
.audience-steps ol{list-style:none;margin:0;padding:0;counter-reset:build-step}
.audience-steps li{counter-increment:build-step;position:relative;padding:26px 0 26px 48px;border-top:1px solid #333}
.audience-steps li:first-child{border-top:0;padding-top:0}
.audience-steps li::before{content:counter(build-step,decimal-leading-zero);position:absolute;left:0;top:31px;font-size:12px;color:#8b8b8b}
.audience-steps li:first-child::before{top:6px}
.audience-steps h3{font-size:24px;line-height:1.25;margin-bottom:11px}
.audience-steps p{font-size:15px;line-height:1.7;color:#aaa}
.audience-sequence{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1440px;margin:0 auto;padding:30px 48px 80px}
.audience-sequence a{padding:25px 0;border-top:1px solid #333}
.audience-sequence a:last-child{text-align:right}
.audience-sequence span{display:block;color:#8e8e8e;font-size:12px;margin-bottom:14px}
.audience-sequence strong{font-weight:500;font-size:20px;letter-spacing:-.02em}
.page-invitation{max-width:1600px;margin:0 auto;padding:90px 48px 105px;border-top:1px solid #333;display:flex;justify-content:space-between;align-items:center;gap:64px}
.page-invitation h2{font-size:clamp(38px,4.5vw,66px);line-height:1.08;margin:20px 0 25px;max-width:700px}
.page-invitation>div>p:not(.page-kicker){font-size:17px;line-height:1.65;color:#aaa;max-width:530px}
.page-invitation .page-actions{flex-shrink:0;max-width:350px}
.manifesto-hero{display:grid;grid-template-columns:1.45fr 1fr;column-gap:70px;row-gap:30px;max-width:1600px;margin:0 auto;padding:100px 48px 110px}
.manifesto-hero .page-kicker{grid-column:1/-1;margin-bottom:10px}
.manifesto-hero h1{grid-column:1;grid-row:2/4;font-size:clamp(64px,7.5vw,124px);line-height:1.02;letter-spacing:-.055em;text-wrap:nowrap}
.manifesto-deck{grid-column:2;align-self:end;font-size:23px;line-height:1.65;max-width:430px;color:#b4b4b4}
.manifesto-hero .page-actions{grid-column:2;align-self:start}
.manifesto-photo{margin:0 auto;max-width:1600px;padding:0 48px}
.manifesto-photo img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;filter:none}
.manifesto-photo figcaption{font-size:13px;line-height:1.5;color:#aaa;margin:18px 0 0}
.manifesto-reading{display:grid;grid-template-columns:280px minmax(0,720px);column-gap:110px;row-gap:95px;max-width:1300px;margin:0 auto;padding:125px 48px 110px;scroll-margin-top:100px}
.manifesto-intro{grid-column:1/-1;font-size:clamp(28px,3.5vw,44px);line-height:1.42;letter-spacing:-.032em;margin:0;max-width:1070px;font-weight:500;text-wrap:balance}
.manifesto-index{position:sticky;top:115px;align-self:start}
.manifesto-index h2{font-size:15px;line-height:1.5;letter-spacing:0;margin-bottom:24px;color:#eee}
.manifesto-index nav{display:flex;flex-direction:column;gap:16px}
.manifesto-index a{font-size:14px;line-height:1.5;color:#999;width:fit-content}
.manifesto-index a:hover{color:#eee}
.manifesto-body section{padding:0 0 60px;margin:0 0 60px;border-bottom:1px solid #2b2b2b;scroll-margin-top:110px}
.manifesto-body section:last-child{border:0;margin-bottom:0;padding-bottom:0}
.manifesto-body h2{font-size:clamp(30px,3vw,41px);line-height:1.16;margin:0 0 25px}
.manifesto-body p{font-size:19px;line-height:1.8;color:#aaa;max-width:700px}
.manifesto-pledge{max-width:1300px;margin:0 auto;padding:95px 48px 110px;border-top:1px solid #333}
.manifesto-pledge h2{font-size:clamp(44px,5.5vw,76px);line-height:1.1;margin:24px 0 36px;max-width:970px}
.manifesto-pledge>p:last-child{font-size:24px;line-height:1.65;max-width:950px;color:#aaa}
.who-home{max-width:1600px;margin:0 auto;padding:0 6% 100px}
.who-home-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px}
.who-home-heading h2{font-size:clamp(38px,4vw,60px);font-weight:590}
.who-home-heading>div{max-width:330px}
.who-home-heading p{font-size:16px;color:#aaa;line-height:1.65;margin-bottom:18px}
.who-home .audience-cards{gap:42px 28px}
.who-home .audience-card h3{font-size:24px;margin-top:21px}
.who-home .audience-card p{font-size:14px}
.manifesto-home-copy .text-link{margin-top:24px}
.manifesto-home-copy p{color:#b4b4b4;max-width:420px;font-size:16px;line-height:1.65}
@media(min-width:1024px) and (max-width:1279px){.site-nav .site-links{gap:17px;font-size:13px}.site-nav .brand{font-size:26px}.site-nav-inner{gap:18px;padding:0 32px}.site-nav-actions{gap:16px}}
@media(min-width:1280px){.site-nav .site-links{gap:22px}}
@media(width < 1024px){
 .manifesto-hero{column-gap:40px;padding:80px 32px 90px;grid-template-columns:1.2fr 1fr}
 .manifesto-hero h1{font-size:clamp(54px,7.5vw,80px)}
 .manifesto-deck{font-size:18px;line-height:1.7}
 .manifesto-hero .page-actions{gap:18px}
 .manifesto-reading{column-gap:55px;grid-template-columns:180px minmax(0,1fr);padding:95px 32px 80px}
 .manifesto-photo{padding:0 32px}
 .manifesto-pledge{padding:80px 32px}
 .audience-collection,.audience-feature-image{padding-left:32px;padding-right:32px}
 .audience-example{gap:38px;padding-left:32px;padding-right:32px}
 .audience-outcomes{padding-left:32px;padding-right:32px;gap:25px}
 .audience-outcomes h2{font-size:23px}
 .audience-outcomes p{font-size:15px}
 .audience-note,.audience-steps{gap:50px;padding-left:32px;padding-right:32px}
 .page-invitation{padding-left:32px;padding-right:32px;align-items:start;flex-direction:column;gap:30px}
 .page-invitation .page-actions{max-width:none}
}
@media(max-width:700px){
 .audience-hero{padding:72px 24px 55px}
 .audience-hero h1{font-size:43px;margin:22px auto 24px}
 .audience-hero>p:not(.page-kicker){font-size:17px}
 .audience-hero .page-actions{gap:20px}
 .audience-collection{padding:0 24px 65px}
 .audience-cards{grid-template-columns:1fr;gap:42px}
 .audience-card h2,.audience-card h3{font-size:25px;margin-top:20px}
 .audience-card p{font-size:15px}
 .audience-note,.audience-steps{grid-template-columns:1fr;gap:36px;padding:65px 24px}
 .audience-note p{font-size:17px}
 .audience-feature-image{padding:0 24px}
 .audience-feature-image img{aspect-ratio:3/2}
 .audience-outcomes{grid-template-columns:1fr;gap:32px;padding:55px 24px 65px}
 .audience-outcomes h2{font-size:26px}
 .audience-example{grid-template-columns:1fr;gap:35px;padding:0 24px 65px}
 .audience-example h2{font-size:34px}
 .audience-example .example-text{font-size:16px}
 .audience-steps h2{font-size:38px}
 .audience-sequence{padding:20px 24px 55px;gap:30px}
 .audience-sequence strong{font-size:17px;line-height:1.4}
 .page-invitation{padding:65px 24px 75px}
 .page-invitation h2{font-size:42px}
 .page-invitation .page-actions{gap:22px}
 .manifesto-hero{display:block;padding:65px 24px 70px}
 .manifesto-hero .page-kicker{margin-bottom:30px}
 .manifesto-hero h1{font-size:clamp(48px,11.3vw,76px)}
 .manifesto-deck{font-size:18px;margin:35px 0 28px;max-width:520px}
 .manifesto-photo{padding:0 24px}
 .manifesto-photo img{aspect-ratio:3/2}
 .manifesto-photo figcaption{font-size:12px;line-height:1.6}
 .manifesto-reading{display:block;padding:70px 24px 65px}
 .manifesto-intro{font-size:28px;line-height:1.5}
 .manifesto-index{position:static;margin:45px 0 55px;padding:25px 0;border-top:1px solid #333;border-bottom:1px solid #333}
 .manifesto-index h2{margin-bottom:20px}
 .manifesto-index nav{display:grid;grid-template-columns:1fr 1fr;gap:15px 18px}
 .manifesto-index a{font-size:13px}
 .manifesto-body section{margin-bottom:42px;padding-bottom:42px}
 .manifesto-body h2{font-size:30px}
 .manifesto-body p{font-size:17px;line-height:1.8}
 .manifesto-pledge{padding:65px 24px}
 .manifesto-pledge h2{font-size:43px;margin-bottom:28px}
 .manifesto-pledge>p:last-child{font-size:20px}
 .who-home{padding:0 6% 65px}
 .who-home-heading{display:block;margin-bottom:35px}
 .who-home-heading h2{font-size:40px}
 .who-home-heading>div{max-width:400px;margin-top:25px}
}
@media(prefers-reduced-motion:reduce){.audience-card img{transition:none}.audience-card:hover img{transform:none}}
