/* ===========================================================
   guardian.css — Green Life Guardian extras on top of the shared
   greenlifeschool.org design system (styles.css). Only the
   components the school stylesheet doesn't already define.
   =========================================================== */

/* two-up card grid (school ships c3/c4, not c2) */
.grid.c2{grid-template-columns:repeat(2,1fr)}
@media(max-width:820px){ .grid.c2{grid-template-columns:1fr} }

/* team / role line inside a card */
.card .role{color:var(--green);font-weight:600;font-size:.9rem;margin:.15rem 0 .55rem;
  font-family:"Archivo",sans-serif;letter-spacing:.01em}

/* card "arrow" link */
a.arrow{color:var(--green);font-weight:700;font-size:.94rem;text-decoration:none;
  font-family:"Archivo",sans-serif}
a.arrow:hover{text-decoration:underline}

/* ---- stat row (home mission band) ---- */
.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:8px}
.statrow .stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:26px 20px;text-align:center;box-shadow:var(--shadow-sm)}
.statrow .num{font-family:"Archivo",sans-serif;font-weight:900;font-size:2.4rem;line-height:1;
  color:var(--green);letter-spacing:-.02em}
.statrow .lab{color:var(--muted);font-size:.9rem;margin-top:8px}
@media(max-width:820px){ .statrow{grid-template-columns:1fr 1fr} }
@media(max-width:520px){ .statrow{grid-template-columns:1fr} }

/* ---- alternating feature rows (solutions page) ---- */
.feature{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.feature.reverse .feat-text{order:2}
.feature.reverse .feat-card{order:1}
.feature .eyebrow{color:var(--green)}
.feature h2{margin:.25rem 0 .6rem}
.feature p{color:var(--muted);margin:0 0 1.2rem}
.feat-card{background:var(--cream);border:1px solid var(--line);border-radius:var(--r);
  padding:28px 30px;box-shadow:var(--shadow-sm)}
@media(max-width:820px){
  .feature{grid-template-columns:1fr;gap:24px}
  .feature.reverse .feat-text,.feature.reverse .feat-card{order:0}
}

/* ---- tick lists ---- */
ul.ticks{list-style:none;margin:0;padding:0}
ul.ticks li{position:relative;padding:8px 0 8px 30px;color:var(--ink);font-size:.98rem;
  border-bottom:1px solid var(--line)}
ul.ticks li:last-child{border-bottom:0}
ul.ticks li::before{content:"";position:absolute;left:2px;top:14px;width:9px;height:9px;
  border-right:2.5px solid var(--green);border-bottom:2.5px solid var(--green);
  transform:rotate(45deg)}
ul.ticks.big li{font-size:1.06rem;padding:14px 0 14px 34px}
ul.ticks.big li::before{top:20px}

/* ---- narrow column + short hero (form pages) ---- */
.wrap.narrow{max-width:620px}
.hero.white.short{padding-top:70px;padding-bottom:20px}
.hero.white.short h1{font-size:clamp(2rem,5vw,3.1rem)}

/* ---- lead / contact form ---- */
.lead-form{display:flex;flex-direction:column;gap:6px;margin:30px 0 18px}
.lead-form label{font-weight:600;font-size:.92rem;color:var(--forest);
  font-family:"Archivo",sans-serif;margin-top:12px}
.lead-form .opt{color:var(--muted);font-weight:400}
.lead-form input,.lead-form textarea{border:1px solid var(--line);border-radius:12px;
  padding:14px 16px;font:inherit;font-size:1rem;background:var(--paper);color:var(--ink)}
.lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--green);
  box-shadow:0 0 0 3px rgba(0,77,48,.12)}
.lead-form button{align-self:flex-start;margin-top:20px;cursor:pointer}

/* ---- success notice ---- */
.notice.ok{background:var(--cream);border:1px solid var(--line);border-left:5px solid var(--green);
  border-radius:12px;padding:22px 26px;box-shadow:var(--shadow-sm)}
.notice.ok h3{margin:0 0 .3rem;color:var(--forest)}
.notice.ok p{margin:0;color:var(--muted)}

/* ---- fineprint ---- */
.fineprint{color:var(--muted);font-size:.85rem;margin-top:22px;line-height:1.6}
