/* =====================================================
   R1 ReadyFirst – Homepage Layout
   Requires: shared.css
   ===================================================== */

/* HERO */
.hero{background:var(--g-forest);color:var(--white);min-height:85vh;display:flex;align-items:center;justify-content:flex-start;padding:var(--xl) var(--md);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-120px;right:-80px;width:420px;height:420px;border-radius:50%;background:rgba(var(--jade-lt-rgb),.07)}
.hero::after{content:'';position:absolute;bottom:-160px;left:-60px;width:360px;height:360px;border-radius:50%;background:rgba(var(--sky-rgb),.05)}
.hero__bg-placeholder{position:absolute;inset:0;z-index:0;background:url('../img/hero-bg.webp') 30% center/cover no-repeat;background-color:var(--jade-dk);transform:scaleX(-1)}
.hero__bg-placeholder::before{content:'';position:absolute;inset:0;background:linear-gradient(to left,rgba(var(--jade-deep-rgb),.92) 0%,rgba(var(--jade-dk-rgb),.8) 45%,rgba(var(--jade-rgb),.35) 100%)}
.hero__bg-placeholder::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--jade-deep-rgb),.6) 0%,transparent 50%)}
.hero__inner{position:relative;z-index:1;max-width:var(--max);width:100%;margin:0 auto;text-align:left}
.hero__content{max-width:620px}
.hero__eyebrow{font-family:var(--font-ui);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--jade-lt);display:block;margin-bottom:var(--sm)}
.hero__stat{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.5rem);font-weight:800;line-height:1.05;display:block;margin-bottom:.5rem;color:var(--terra-soft)}
.hero__explain{font-family:var(--font-display);font-size:clamp(1.4375rem,3vw,1.75rem);font-weight:600;line-height:1.4;color:rgba(var(--sand-rgb),1);display:block}
.hero__sub{font-family:var(--font-quote);font-size:clamp(1rem,2vw,1.1875rem);font-weight:400;font-style:italic;line-height:1.7;color:rgba(var(--sand-rgb),1);max-width:540px;margin:0 0 2.25rem}
.hero__actions{display:flex;gap:var(--sm);justify-content:flex-start;flex-wrap:wrap}

/* STORY VIGNETTE */
.vignette{background:linear-gradient(135deg,var(--sand-warm),var(--sand));padding:var(--xl) var(--md) var(--xxl);position:relative;overflow:hidden}
.vignette::before{content:'';position:absolute;top:-80px;left:-60px;width:300px;height:300px;border-radius:50%;background:rgba(var(--terra-rgb),.04)}
.vignette::after{content:'';position:absolute;bottom:-100px;right:-40px;width:260px;height:260px;border-radius:50%;background:rgba(var(--terra-soft-rgb),.05)}
.vignette__inner{position:relative;z-index:1;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--xl);align-items:center}
.vignette__text{text-align:left}
.vignette__turn{font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,2rem);font-weight:700;line-height:1.3;color:var(--jade-dk);margin-bottom:var(--md)}
.vignette__story{font-family:var(--font-quote);font-size:clamp(1.0625rem,2vw,1.25rem);font-style:italic;line-height:1.75;color:var(--char);margin-bottom:var(--lg)}
.vignette__img-wrap{border-radius:14px;overflow:hidden;box-shadow:var(--sh2)}
.vignette__img-wrap img{width:100%;height:380px;object-fit:cover;display:block}

/* MATT'S VOICE */
.matt-voice{background:var(--sand);padding:var(--xl) 0 var(--xl)}
.matt-voice__grid{display:grid;grid-template-columns:420px 1fr;gap:var(--xl);align-items:center;max-width:1080px;margin:0 auto}
.matt-voice__photo-rect{width:420px;aspect-ratio:3/4;border-radius:12px;background:linear-gradient(145deg,var(--sand-dk),var(--sand));display:flex;align-items:center;justify-content:center;margin:0 auto;box-shadow:var(--sh2);overflow:hidden}
.matt-voice__photo-rect img{transform:scale(1.08);transform-origin:center top}
.matt-voice__content blockquote{font-family:var(--font-quote);font-size:clamp(1rem,2vw,1.25rem);font-style:italic;line-height:1.7;color:var(--char);margin-bottom:var(--md)}
.matt-voice__name{font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:var(--char)}
.matt-voice__role{font-family:var(--font-ui);font-size:.875rem;color:var(--wgray);margin-bottom:.75rem}
.matt-voice__link{font-family:var(--font-ui);font-size:.875rem;font-weight:600;color:var(--jade);text-decoration:none;display:inline-flex;align-items:center;gap:.375rem}
.matt-voice__link .arrow{transition:transform .3s}
.matt-voice__link:hover .arrow{transform:translateX(3px)}
.matt-voice__links{display:flex;flex-wrap:wrap;gap:.75rem var(--md);align-items:center}
.matt-voice__link--book{color:var(--wgray);gap:.5rem}
.matt-voice__link--book:hover{color:var(--jade)}

/* VIDEO INTRO */
.video-intro{background:var(--g-forest);color:var(--white);padding:var(--xl) 0}
.video-intro__header{text-align:center;max-width:640px;margin:0 auto var(--lg)}
.video-intro__header h2{color:var(--white);margin-bottom:var(--sm)}
.video-intro__header p{color:rgba(var(--sand-rgb),.9);font-size:1rem}
.video-intro__frame{max-width:880px;margin:0 auto;aspect-ratio:16/9;border-radius:12px;overflow:hidden;box-shadow:var(--sh2);background:#000}
.video-intro__player{width:100%;height:100%;display:block;border:0}

/* AUDIENCE CARDS */
.audiences{padding:var(--xl) 0}
.audiences__header{text-align:center;max-width:580px;margin:0 auto var(--lg)}
.audiences__header h2{margin-bottom:0}

/* Featured funder card – full-width lead */
.card--funder-featured{display:block;margin-bottom:var(--md);padding:calc(var(--md) + .75rem) calc(var(--md) + 1rem)}
.card--funder-featured__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--lg)}
.card--funder-featured__cta-col{display:flex;flex-direction:column;align-items:center;gap:.75rem;flex-shrink:0}
.card--funder-featured__sub{font-family:var(--font-ui);font-size:.875rem;font-weight:600;color:rgba(var(--white-rgb),.7)}
.card--funder-featured .card__title{font-size:clamp(1.5rem,3vw,1.875rem)}
.card--funder-featured .card__body{font-size:1rem;max-width:600px}
.card__body--timing{margin-top:var(--xs);margin-bottom:0}

/* Original 2x2 grid (fallback) */
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--md)}

/* Trio grid – 3 secondary audience cards (must come after base) */
.audience-grid--trio{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--md)}
.card{border-radius:12px;box-shadow:var(--sh);padding:var(--md);transition:box-shadow .3s,transform .3s;text-decoration:none;display:block}
.card:hover{box-shadow:var(--sh2);transform:translateY(-2px);text-decoration:none}
.card--lg{padding:calc(var(--md) + .25rem) calc(var(--md) + .5rem)}
.card__eyebrow{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--sm);display:flex;align-items:center;gap:.5rem}
.card__eyebrow svg{width:16px;height:16px;flex-shrink:0}
.card__title{font-family:var(--font-display);font-weight:700;color:var(--char);margin-bottom:var(--sm);line-height:1.25;font-size:1.5rem}
.card__body{font-size:.9375rem;line-height:1.6;color:var(--char);margin-bottom:var(--md)}
.card__cta{font-size:.875rem;font-weight:600;color:var(--jade);display:flex;align-items:center;gap:.5rem}
.card__cta .arrow{transition:transform .3s}
.card:hover .card__cta .arrow{transform:translateX(3px)}
.card--funder{background:linear-gradient(145deg,var(--jade-dk),var(--jade-funder))}
.card--funder .card__eyebrow{color:var(--sky-lt)}
.card--funder .card__title{color:var(--white)}
.card--funder .card__body{color:rgba(var(--white-rgb),.9)}
.card--funder .card__cta{color:var(--sky-lt)}
.card--funder:hover{box-shadow:0 6px 24px rgba(var(--jade-dk-rgb),.3)}
.card--funder-featured:hover .btn--hero{background:var(--sand);color:var(--jade-dk)}
.card--funder-featured:hover .btn--hero .arrow{transform:translateX(3px)}
.card--org{background:linear-gradient(145deg,var(--white) 0%,var(--org-tint) 100%)}
.card__eyebrow--org{color:var(--jade)}.card__cta--org{color:var(--jade)}
.card--parent{background:linear-gradient(145deg,var(--white) 0%,var(--sand-warm) 100%)}
.card__eyebrow--parent{color:var(--terra)}.card__cta--parent{color:var(--jade)}
.card--coach{background:linear-gradient(145deg,var(--white) 0%,var(--sand) 100%)}
.card__eyebrow--coach{color:var(--wgray)}.card__cta--coach{color:var(--jade)}

/* PRODUCT GLIMPSE */
.product-glimpse{background:var(--white);padding:var(--xl) 0;border-top:1px solid var(--sand-dk)}
.product-glimpse__header{text-align:center;max-width:580px;margin:0 auto var(--lg)}
.product-glimpse__header .section-eyebrow{color:var(--eyebrow-light)}
.product-glimpse__header h2{margin-bottom:var(--sm)}
.product-glimpse__header p{color:var(--char);font-size:1rem}
.product-glimpse__frame{max-width:800px;margin:0 auto;border-radius:12px;overflow:visible;box-shadow:0 8px 32px rgba(var(--black-rgb),.1);border:1px solid var(--sand-dk);border-radius:12px}
.product-glimpse__annotated{position:relative;border-radius:12px;overflow:hidden}
.product-glimpse__annotated img{width:100%;height:auto;display:block}
.pg-callout{position:absolute;font-family:var(--font-ui);font-size:.875rem;font-weight:600;color:var(--white);background:var(--jade-dk);padding:.5rem 1rem;border-radius:6px;white-space:nowrap;box-shadow:0 2px 8px rgba(var(--black-rgb),.2);pointer-events:none}
.pg-callout::before{content:'';position:absolute;width:8px;height:8px;background:var(--jade-dk);border-radius:2px;transform:rotate(45deg)}
.pg-callout--1{top:6%;right:4%}.pg-callout--1::before{bottom:-4px;left:24px}
.pg-callout--2{top:28%;left:3%}.pg-callout--2::before{bottom:-4px;left:20px}
.pg-callout--3{bottom:8%;right:4%}.pg-callout--3::before{top:-4px;right:24px}
.product-glimpse__caption{font-family:var(--font-ui);font-size:.875rem;color:var(--wgray);text-align:center;max-width:640px;margin:var(--md) auto 0;line-height:1.5}
.product-glimpse__actions{display:flex;gap:var(--sm);justify-content:center;flex-wrap:wrap;margin-top:var(--lg)}

/* Split: aggregate dashboard + individual phone */
.product-glimpse__split{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--lg);max-width:1000px;margin:0 auto;align-items:start}
.product-glimpse__split-card{margin:0;display:flex;flex-direction:column;gap:var(--sm)}
.product-glimpse__split-card figcaption{font-family:var(--font-ui);font-size:.8125rem;color:var(--wgray);text-align:center;line-height:1.5;padding:0 var(--sm)}
.product-glimpse__split-card--phone{align-items:center}
.product-glimpse__phone-img{max-width:240px;width:100%;height:auto;display:block;border-radius:18px}
@media(max-width:767px){
  .product-glimpse__split{grid-template-columns:1fr}
  .product-glimpse__phone-img{max-width:200px}
}

/* GIRLS IN SPORT */
.girls-sport{background:var(--g-warm);padding:var(--xl) 0}
.girls-sport__inner{display:grid;grid-template-columns:6fr 6fr;gap:var(--lg);align-items:start}
.girls-sport__content h2{margin-bottom:var(--sm)}
.girls-sport__content p{margin-bottom:var(--md)}
.girls-sport__bridge{font-family:var(--font-ui);font-size:.75rem;font-weight:600;color:var(--jade-dk);line-height:1.5;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem}
.girls-sport__right{display:flex;flex-direction:column}
.girls-sport__img-wrap{border-radius:12px 12px 0 0;overflow:hidden}
.girls-sport__img-wrap img{width:100%;height:320px;object-fit:cover;display:block}
/* Horizontal stats row below image */
.gs-stats-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;background:rgba(255,255,255,0.65);border-radius:0 0 12px 12px;padding:.875rem var(--sm)}
.gs-stats-row__item{text-align:center;padding:0 .5rem}
.gs-stats-row__number{font-family:var(--font-display);font-size:1.125rem;font-weight:800;color:var(--terra);line-height:1.1;margin-bottom:.25rem}
.gs-stats-row__caption{font-family:var(--font-ui);font-size:.75rem;color:var(--char);line-height:1.4}
.gs-stats-row__divider{width:1px;background:var(--sand-icon);margin:.25rem 0}

/* SCALE STATS */
.scale-stats{background:var(--white);padding:var(--xl) 0;border-bottom:1px solid var(--sand-dk)}
.scale-stats--elevated{background:var(--jade-dk);border-bottom:none;padding:var(--xl) 0}
.scale-stats--elevated .scale-stats__number{color:var(--white)}
.scale-stats--elevated .scale-stats__context{color:rgba(var(--sand-rgb),.85)}
.scale-stats--elevated .scale-stats__source{color:rgba(var(--sand-rgb),.5)}
.scale-stats--elevated .scale-stats__divider{background:rgba(var(--white-rgb),.15)}
.scale-stats--elevated .gtm-signal{color:rgba(var(--sand-rgb),.75)}
.scale-stats__cta{text-align:center;margin-top:var(--lg)}
.scale-stats__timing{margin-top:var(--md);padding-top:var(--md);border-top:1px solid rgba(var(--white-rgb),.12);max-width:480px;margin-left:auto;margin-right:auto;text-align:left}
.scale-stats__grid{display:flex;align-items:flex-start;justify-content:center;gap:var(--lg);max-width:1060px;margin:0 auto}
.scale-stats__item{flex:1;text-align:center}
.scale-stats__number{font-family:var(--font-display);font-size:clamp(2.5rem,5.5vw,3.5rem);font-weight:800;color:var(--jade-dk);line-height:1;margin-bottom:.75rem;white-space:nowrap}
.scale-stats__context{font-family:var(--font-prose);font-size:1rem;line-height:1.6;color:var(--char);max-width:340px;margin:0 auto}
.scale-stats__divider{width:1px;height:80px;background:var(--sand-dk);flex-shrink:0;margin-top:1rem}
.scale-stats__source{font-family:var(--font-ui);font-size:.875rem;color:var(--wgray);margin-top:var(--sm);line-height:1.5}

/* TEAM STRIPE */
.team-stripe{padding:var(--xl) 0;background:var(--sand-dk)}
.team-stripe__header{text-align:center;max-width:580px;margin:0 auto var(--lg)}
.team-stripe__header .section-eyebrow{color:var(--eyebrow-light)}
.team-stripe__header h2{margin-bottom:var(--lg)}
.team-headline-stack{line-height:1.3}
.team-headline-stack span{display:block}
.team-stripe__cta{text-align:center;margin-top:var(--lg)}
.team-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--md)}
.team-row--four{grid-template-columns:repeat(4,1fr)}
.team-card{background:var(--white);border-radius:10px;padding:1.25rem;box-shadow:var(--sh);text-align:center;position:relative;overflow:hidden}
.team-card::before{content:'';position:absolute;top:0;left:0;right:0;height:50%;border-radius:10px 10px 0 0;pointer-events:none}
.team-card__avatar{width:56px;height:56px;border-radius:50%;background:var(--sand);margin:0 auto var(--sm);display:flex;align-items:center;justify-content:center;overflow:hidden}
.team-card__avatar img{transform:scale(1.1);transform-origin:center top}
.team-card__avatar svg{width:24px;height:24px}
.team-name{font-family:var(--font-display);font-size:.9rem;font-weight:700;color:var(--char)}
.team-role{font-family:var(--font-ui);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-top:.125rem;margin-bottom:.5rem}
.team-role--mind{color:var(--sky)}.team-role--energy{color:var(--terra)}.team-role--advisor{color:var(--jade)}
.team-cred{font-family:var(--font-ui);font-size:.875rem;color:var(--wgray);line-height:1.45}

/* INSIGHTS STRIPE */
.insights-stripe{background:var(--white);padding:var(--xl) 0}
.insights-stripe__header{text-align:center;max-width:580px;margin:0 auto var(--lg)}
.insights-stripe__header .section-eyebrow{color:var(--eyebrow-light)}
.insights-stripe__header h2{margin-bottom:0}
.insights-stripe__pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--md);max-width:700px;margin:0 auto var(--md)}
.insights-card{background:var(--sand);border-radius:10px;padding:1.5rem;text-decoration:none;color:var(--char);transition:box-shadow .3s,transform .3s;display:flex;flex-direction:column}
.insights-card:hover{box-shadow:var(--sh2);transform:translateY(-2px)}
.insights-card__date{font-family:var(--font-ui);font-size:.75rem;color:var(--wgray);margin-bottom:.5rem}
.insights-card__title{font-family:var(--font-display);font-size:1.0625rem;font-weight:600;line-height:1.35;color:var(--char);flex:1}
.insights-card__read{font-family:var(--font-ui);font-size:.875rem;font-weight:600;color:var(--jade);margin-top:var(--sm);display:inline-flex;align-items:center;gap:.375rem}
.insights-card__read .arrow{transition:transform .3s}
.insights-card:hover .insights-card__read .arrow{transform:translateX(3px)}
.insights-stripe__more{text-align:center}

/* CLOSING CTA */
.closing-cta{padding:var(--xl) 0;background:var(--g-forest);color:var(--white)}
.closing-cta__stack{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:700px;margin:0 auto}
.closing-cta__photo-sm{width:340px;height:420px;border-radius:12px;overflow:hidden;border:2px solid rgba(var(--white-rgb),.12);margin-bottom:var(--lg)}
.closing-cta__photo-sm img{transform:scale(1.08);transform-origin:center top}
.closing-cta__blockquote{font-family:var(--font-quote);font-size:clamp(1rem,2vw,1.25rem);font-style:italic;line-height:1.7;color:rgba(var(--sand-rgb),.95);margin-bottom:var(--md)}
.closing-cta__attribution{margin-bottom:var(--lg)}
.closing-cta__name{font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:var(--white)}
.closing-cta__role{font-family:var(--font-ui);font-size:.875rem;color:var(--jade-lt)}
.closing-cta__actions{display:flex;gap:var(--sm);justify-content:center;flex-wrap:wrap}

/* RESPONSIVE – HOMEPAGE */
@media(max-width:1024px){
  .girls-sport__inner{grid-template-columns:1fr;gap:var(--md)}
  .girls-sport__img-placeholder,.girls-sport__img-wrap img{height:200px}
  .team-headline-stack span{display:inline}
  .team-row{grid-template-columns:repeat(2,1fr)}
  .team-row--four{grid-template-columns:repeat(2,1fr)}
  .matt-voice__grid{grid-template-columns:1fr;text-align:center}
  .matt-voice__links{justify-content:center}
  .scale-stats__grid{flex-direction:column;gap:var(--md)}
  .scale-stats__divider{width:80px;height:1px}
  .pg-callout{display:none}
  .card--funder-featured__inner{flex-direction:column;text-align:center}
  .card--funder-featured .card__body{max-width:100%}
  .audience-grid--trio{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .team-row{grid-template-columns:1fr}
  .team-row--four{grid-template-columns:1fr}
  .team-card{display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto 1fr;column-gap:1rem;text-align:left;padding:1rem 1.25rem}
  .team-card__avatar{grid-column:1;grid-row:1/4;width:72px;height:72px;margin:0;align-self:center}
  .team-name{grid-column:2;grid-row:1;font-size:1.0625rem}
  .team-role{grid-column:2;grid-row:2}
  .team-cred{grid-column:2;grid-row:3;font-size:.875rem}
}
@media(max-width:767px){
  .hero{min-height:70vh;padding:var(--xl) var(--sm)}
  .hero__inner{text-align:center}
  .hero__content{max-width:100%}
  .hero__sub{margin:0 auto 2.25rem}
  .hero__actions{justify-content:center}
  .hero__bg-placeholder{transform:none;background-position:25% top}
  .audience-grid{grid-template-columns:1fr}
  .audience-grid--trio{grid-template-columns:1fr}
  .team-headline-stack span{display:inline}
  .vignette{padding:var(--xl) var(--sm)}
  .vignette__inner{grid-template-columns:1fr;gap:var(--md)}
  .vignette__img-placeholder,.vignette__img-wrap img{height:260px}
  .matt-voice__photo-rect{width:min(380px,100%);aspect-ratio:3/4}
  .insights-stripe__pair{grid-template-columns:1fr}
  .closing-cta__photo-sm{width:100%;max-width:340px}
  .video-intro__frame{border-radius:8px}
}
.team-card--body::before{background:linear-gradient(to bottom,rgba(var(--jade-rgb),.1) 0%,transparent 100%)}
.team-card--mind::before{background:linear-gradient(to bottom,rgba(var(--sky-rgb),.1) 0%,transparent 100%)}
.team-card--energy::before{background:linear-gradient(to bottom,rgba(var(--terra-rgb),.1) 0%,transparent 100%)}
.team-card--advisor::before{background:linear-gradient(to bottom,rgba(var(--jade-rgb),.06) 0%,transparent 100%)}

.hero h1{margin-bottom:1.75rem}
