/* Audience-first homepage. Shared brand tokens and navigation live in home.css. */
.home-page .button { font-size: 16px; min-height: 56px; border-radius: 3px; }
.home-page .button-small { font-size: 14px; min-height: 46px; }
.home-page .text-link { font-size: 16px; }
.scale-hero { position: relative; isolation: isolate; overflow: hidden; background: #182d24; color: #fffefa; min-height: 700px; display: flex; align-items: center; }
.scale-hero-photo { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 53%; }
.scale-hero::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(14,31,24,.91), rgba(14,31,24,.66) 32%, rgba(14,31,24,.2) 57%, transparent 80%); }
.scale-hero-content { padding-block: 76px 90px; }
.scale-hero .eyebrow { color: #e1e8cd; font-size: 15px; font-weight: 650; letter-spacing: .11em; margin-bottom: 34px; }
.scale-hero h1 { font-size: clamp(76px,7.5vw,116px); letter-spacing: -.045em; line-height: .99; max-width: 720px; }
.scale-hero h1 em { color: #d6e1ad; }
.scale-hero-lead { margin-top: 28px; font-size: clamp(20px,1.8vw,26px); line-height: 1.45; letter-spacing: -.02em; }
.scale-hero-description { max-width: 440px; font-size: 16px; line-height: 1.65; color: #e0e5da; margin-top: 17px; }
.scale-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 31px; }
.scale-hero-actions .text-link:hover { color: #d6e1ad; }
.hero-photo-note { position: absolute; right: max(56px,calc((100vw - 1320px)/2)); bottom: 42px; display: flex; flex-direction: column; text-align: right; color: #fffefa; padding: 14px 18px; border-right: 1px solid #e1e8cd; background: #19322885; font-size: 15px; line-height: 1.5; }
.audiences-section, .home-section-space { padding-block: 100px; }
.home-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; margin-bottom: 44px; }
.home-section-heading h2 { font-size: clamp(44px,4.1vw,64px); }
.home-section-heading > p { font-size: 17px; color: var(--muted); max-width: 355px; line-height: 1.65; padding-bottom: 5px; }
.home-section-heading .eyebrow { margin-bottom: 20px; }
.audience-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.audience-card { display: flex; flex-direction: column; background: #eeeee5; border: 1px solid #dadfd0; padding: 29px; border-radius: 4px; transition: background .2s,transform .2s; }
.audience-card:nth-child(2) { background: #e8ede4; }
.audience-card:nth-child(3) { background: #e3e8db; }
.audience-card:hover { transform: translateY(-5px); background: #dce5ce; }
.audience-card-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px; }
.audience-card-top .icon { width: 26px; height: 26px; }
.audience-number { font-size: 14px; font-weight: 500; color: var(--muted); }
.audience-name { font-size: 16px; font-weight: 600; margin-bottom: 20px; letter-spacing: -.025em; }
.audience-card h3 { font-size: clamp(31px,2.6vw,40px); line-height: 1.05; margin-bottom: 20px; }
.audience-benefit { font-size: 16px; line-height: 1.65; color: var(--muted); margin-bottom: 24px; }
.audience-types { margin-top: auto; font-size: 14px; line-height: 1.8; color: #465b4e; padding-bottom: 25px; }
.audience-cta { border-top: 1px solid #c8d1c1; padding-top: 20px; font-size: 14px; font-weight: 600; display: flex; justify-content: space-between; align-items: center; gap: 14px; line-height: 1.5; }
.platform-section { background: #e8ecdf; }
.platform-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.teammate { background: #f9f9f1; padding: 38px; border: 1px solid #d6decc; border-radius: 5px; display: flex; flex-direction: column; }
.teammate-fred { background: #f0f3ed; }
.teammate-label { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
.teammate-avatar { font-family: var(--serif); font-style: italic; font-size: 46px; display: grid; place-items: center; padding-top: 8px; width: 62px; height: 62px; border-radius: 50%; background: #dce5c6; }
.teammate-fred .teammate-avatar { background: #d8e4dd; }
.teammate-label strong { font-size: 18px; display: block; font-weight: 600; }
.teammate-label div > span { font-size: 14px; color: var(--muted); display: block; margin-top: 3px; }
.teammate h3 { font-size: clamp(34px,3.1vw,47px); line-height: 1.08; margin-bottom: 18px; }
.teammate > p:not(.teammate-outcome) { color: var(--muted); font-size: 16px; line-height: 1.65; margin-bottom: 30px; }
.teammate-capabilities { list-style: none; padding: 0; margin: auto 0 0; }
.teammate-capabilities li { padding-block: 19px; border-top: 1px solid #d6decc; }
.teammate-capabilities strong, .teammate-capabilities span { display: block; font-size: 16px; line-height: 1.65; }
.teammate-capabilities strong { font-weight: 600; }
.teammate-capabilities span { color: var(--muted); margin-top: 5px; }
.team-benefits-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.team-benefits-grid article { border-top: 1px solid var(--line); padding-top: 24px; }
.benefit-number { font-size: 14px; color: var(--muted); }
.team-benefits-grid h3 { font-size: 31px; line-height: 1.12; margin-block: 18px 14px; }
.team-benefits-grid p { font-size: 16px; line-height: 1.7; color: var(--muted); }
.teammate-outcome { font-size: 15px; line-height: 1.65; margin-top: 26px; color: var(--muted); }
.teammate-outcome strong { color: var(--ink); font-weight: 600; }
.trust-growth { background: #203c32; color: #f5f5e9; }
.trust-growth-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; }
.trust-growth .eyebrow, .trust-number { color: #cbd9af; }
.trust-growth h2 { font-size: clamp(43px,4.1vw,63px); }
.trust-growth h2 em { color: #cbd9af; }
.trust-growth .text-link { margin-bottom: 5px; }
.trust-growth .text-link:hover { color: #dbe8bd; }
.trust-growth-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; margin-top: 52px; }
.trust-growth-grid article { border-top: 1px solid #627456; padding-top: 26px; }
.trust-number { font-size: 14px; }
.trust-growth-grid h3 { font-family: var(--sans); letter-spacing: -.025em; font-size: 21px; font-weight: 500; margin-top: 22px; line-height: 1.4; }
.trust-growth-grid p { font-size: 16px; color: #d4ddd0; line-height: 1.7; margin-top: 13px; }
.growth-invitation { text-align: center; padding-block: 110px; }
.growth-invitation .eyebrow { justify-content: center; }
.growth-invitation h2 { font-size: clamp(43px,4.7vw,70px); }
.growth-invitation > p:not(.eyebrow) { max-width: 590px; margin: 28px auto 30px; font-size: 18px; line-height: 1.7; color: var(--muted); }
.invitation-note { display: block; font-size: 14px; color: var(--muted); margin-top: 16px; }
.home-page .site-footer { border-top: 1px solid var(--line); }
@media (min-width: 1600px) { .scale-hero { min-height: 780px; } }
@media (max-width: 1200px) {
  .audience-cards { gap: 16px; }
  .audience-card { padding: 24px; }
  .teammate { padding: 28px; }
}
@media (max-width: 980px) {
  .scale-hero { min-height: 650px; }
  .scale-hero h1 { font-size: 86px; }
  .scale-hero::before { background: linear-gradient(90deg,#132c23eb,#132c23b0 48%,#132c2350 78%); }
  .scale-hero-photo { object-position: 64% center; }
  .hero-photo-note { display: none; }
  .home-section-heading { display: block; }
  .home-section-heading > p { max-width: 580px; margin-top: 25px; }
  .audience-cards { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .audience-card { display: grid; grid-template-columns: 1fr 1fr; gap: 0 38px; padding: 30px; }
  .audience-card-top { grid-column: 1/-1; margin-bottom: 16px; }
  .audience-name { grid-column: 1/-1; margin-bottom: 15px; }
  .audience-card h3 { font-size: 37px; grid-column: 1; grid-row: 3/5; }
  .audience-benefit { grid-column: 2; margin-bottom: 15px; }
  .audience-types { grid-column: 2; padding-bottom: 22px; }
  .audience-cta { grid-column: 1/-1; }
  .platform-pair { gap: 20px; }
  .teammate { padding: 24px; }
  .trust-growth-heading { display: block; }
  .trust-growth-heading .text-link { margin-top: 26px; }
  .trust-growth-grid, .team-benefits-grid { gap: 24px; }
}
@media (max-width: 760px) {
  .scale-hero { display: flex; flex-direction: column; align-items: stretch; min-height: 0; overflow: hidden; }
  .scale-hero-content { padding-block: 47px 40px; }
  .scale-hero .eyebrow { font-size: 14px; letter-spacing: .065em; margin-bottom: 26px; }
  .scale-hero h1 { font-size: clamp(59px,12.6vw,84px); line-height: 1.02; }
  .scale-hero-lead { font-size: 21px; margin-top: 23px; }
  .scale-hero-description { margin-top: 17px; font-size: 16px; max-width: 430px; color: #dfe5d8; }
  .scale-hero-actions { gap: 14px 23px; margin-top: 27px; }
  .scale-hero-actions .button { font-size: 15px; padding-inline: 19px; }
  .scale-hero-photo { position: relative; order: 2; z-index: 0; height: 285px; object-fit: cover; object-position: 90% 60%; width: 100%; }
  .scale-hero::before { display: none; }
  .audiences-section, .home-section-space { padding-block: 65px; }
  .home-section-heading { margin-bottom: 30px; }
  .home-section-heading h2 { font-size: clamp(39px,8.4vw,54px); }
  .home-section-heading > p { font-size: 16px; margin-top: 22px; }
  .audience-card { display: flex; padding: 27px; }
  .audience-card-top { margin-bottom: 20px; }
  .audience-name { margin-bottom: 21px; }
  .audience-card h3 { font-size: 37px; margin-bottom: 20px; }
  .audience-benefit { margin-bottom: 22px; }
  .audience-types { margin-top: 0; padding-bottom: 25px; }
  .platform-pair, .team-benefits-grid { grid-template-columns: minmax(0,1fr); }
  .teammate { padding: 27px 22px; }
  .teammate h3 { font-size: 39px; }
  .teammate-label { margin-bottom: 24px; }
  .trust-growth h2 { font-size: clamp(39px,8.5vw,54px); }
  .trust-growth-grid { grid-template-columns: minmax(0,1fr); margin-top: 35px; gap: 29px; }
  .trust-growth-grid article { padding-top: 23px; }
  .trust-growth-grid h3 { margin-top: 17px; }
  .growth-invitation { padding-block: 70px; text-align: left; }
  .growth-invitation .eyebrow { justify-content: flex-start; }
  .growth-invitation h2 { font-size: clamp(41px,9vw,57px); }
  .growth-invitation > p:not(.eyebrow) { font-size: 16px; }
  .home-page .footer-bottom > span:last-child { display: block; }
}
@media (max-width: 380px) {
  .scale-hero h1 { font-size: 55px; }
  .scale-hero-lead { font-size: 19px; }
  .scale-hero .eyebrow { font-size: 14px; max-width: 270px; }
  .scale-hero-photo { height: 245px; }
  .audience-card { padding: 24px; }
  .audience-card h3 { font-size: 34px; }
  .teammate { padding-inline: 18px; }
  .teammate h3 { font-size: 35px; }
}
