/* ===== Jacqueline du Plessis — Grow Brave =====
   Static rebuild of the Strikingly one-page site. */

:root{
  --bg:#f7f5f1;
  --ink:#3a3a3a;
  --muted:#7a7a7a;
  --line:#d8d4cc;
  --sage:#8f9a86;      /* "GROW BRAVE" accent */
  --teal:#5b8f8c;      /* sub-headings */
  --dark:#2c2c2c;
  --maxw:1040px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Lato',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background-color:var(--bg);
  background-image:repeating-linear-gradient(135deg,rgba(0,0,0,0.012) 0 2px,transparent 2px 7px);
  line-height:1.65;
  font-size:17px;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--teal);text-decoration:none;}
a:hover{text-decoration:underline;}

.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
section{padding:64px 0;border-top:1px solid var(--line);}
section:first-of-type{border-top:none;}

/* Headings */
h1,h2,h3,h4{font-family:'Raleway',sans-serif;font-weight:300;letter-spacing:.06em;color:var(--dark);margin:0 0 .4em;}
h1{font-size:2.8rem;}
h2.section-title{font-size:2rem;text-transform:uppercase;text-align:center;font-weight:300;
  letter-spacing:.12em;padding-bottom:.4em;margin-bottom:.2em;}
.section-title-wrap{text-align:center;margin-bottom:40px;}
.title-rule{width:60px;height:3px;background:var(--dark);margin:14px auto 0;}
.subtitle{color:var(--teal);font-weight:700;text-align:center;font-size:1.25rem;margin:0;}
.subtitle-light{color:var(--muted);text-align:center;margin-top:4px;}

/* ===== Header / Hero ===== */
.hero{text-align:center;padding:70px 0 30px;border:none;}
.hero .photo{width:200px;height:200px;border-radius:50%;object-fit:cover;
  margin:0 auto 26px;border:6px solid #fff;box-shadow:0 4px 16px rgba(0,0,0,.12);}
.hero h1{margin:0;font-size:3rem;letter-spacing:.12em;}
.hero .brand{font-size:2.4rem;color:var(--sage);font-weight:300;letter-spacing:.16em;margin-bottom:.3em;}
.hero .tag{font-weight:700;font-style:italic;font-size:1.4rem;color:var(--ink);margin:.2em 0;}
.hero .lede{color:var(--muted);max-width:none;margin:0 auto;}
@media(min-width:820px){.hero .lede{white-space:nowrap;}}
.nowrap{white-space:nowrap;}

/* Sticky nav */
nav.menu{position:sticky;top:0;z-index:50;background:rgba(247,245,241,.96);
  backdrop-filter:blur(4px);border-top:2px solid var(--dark);border-bottom:1px solid var(--line);}
nav.menu ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;
  margin:0;padding:16px 24px;max-width:var(--maxw);margin:0 auto;}
nav.menu a{color:var(--dark);text-transform:uppercase;font-weight:700;font-size:.8rem;letter-spacing:.08em;}
nav.menu a:hover{color:var(--teal);text-decoration:none;}

/* ===== Generic content ===== */
.lead{text-align:center;max-width:760px;margin:0 auto 10px;font-size:1.15rem;}
.center{text-align:center;}
.muted{color:var(--muted);}
.callout{background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:28px 30px;max-width:760px;margin:26px auto;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.04);}
.callout h3{color:var(--teal);margin-bottom:.3em;}

/* Card grids */
.grid{display:grid;gap:26px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px;
  box-shadow:0 2px 10px rgba(0,0,0,.04);}
.card h3,.card h4{color:var(--dark);}
.card .role{color:var(--teal);font-size:.9rem;font-weight:700;margin-bottom:.6em;}
.card .meta{color:var(--muted);font-size:.9rem;}

/* Testimonials */
.tcard{text-align:center;}
.avatar{width:96px;height:96px;border-radius:50%;margin:0 auto 14px;display:flex;
  align-items:center;justify-content:center;background:var(--sage);color:#fff;overflow:hidden;
  font-family:'Raleway',sans-serif;font-weight:600;font-size:1.7rem;letter-spacing:.04em;}
.avatar img{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:50%;}
.tcard .name{font-weight:700;color:var(--dark);font-size:1.15rem;}
.tcard .quote{font-style:italic;color:var(--ink);margin-top:.7em;font-size:.97rem;}

/* Card logos / images */
.card-logo{display:block;max-height:70px;width:auto;max-width:170px;margin:0 auto 16px;object-fit:contain;}
.logo-row{display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:wrap;margin-top:20px;}
.logo-row img{max-height:74px;width:auto;}
.badges{display:flex;justify-content:center;align-items:flex-start;gap:34px;flex-wrap:wrap;margin-top:22px;}
.badge{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;max-width:200px;text-align:center;margin:0 auto;}
.badge img{height:70px;width:auto;max-width:170px;object-fit:contain;margin:0 auto 12px;display:block;}
.badge span{font-size:.85rem;color:var(--muted);line-height:1.35;}

/* Lists */
.tickets{max-width:780px;margin:0 auto;}
.tickets li{margin-bottom:.5em;}

/* Awards */
.awards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:820px;margin:0 auto;}
.award{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;text-align:center;}
.award .yr{color:var(--teal);font-weight:700;}

/* Contact form */
.formwrap{max-width:620px;margin:24px auto 0;}
.formwrap input,.formwrap textarea{width:100%;padding:13px 15px;margin-bottom:14px;
  border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;}
.formwrap textarea{min-height:130px;resize:vertical;}
.btn{display:inline-block;background:var(--dark);color:#fff;border:none;cursor:pointer;
  padding:13px 38px;border-radius:8px;font:inherit;font-weight:700;letter-spacing:.05em;text-transform:uppercase;}
.btn:hover{background:var(--teal);color:#fff;text-decoration:none;}
.btn-lg{padding:16px 48px;font-size:1.05rem;}
.btn-linkedin{background:#0a66c2;}
.btn-linkedin:hover{background:#084e95;}
.form-note{font-size:.85rem;color:var(--muted);text-align:center;margin-top:10px;}

/* Footer */
footer{text-align:center;padding:40px 24px;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line);}

/* Responsive */
@media(max-width:860px){
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .awards{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  body{font-size:16px;}
  .hero h1{font-size:2.1rem;}
  .hero .brand{font-size:1.7rem;}
  .grid-3,.grid-2{grid-template-columns:1fr;}
  .awards{grid-template-columns:1fr;}
  h2.section-title{font-size:1.6rem;}
}
