/* ===== Page sections: hero, founders, shop, promise, ordering ===== */

/* --- Hero --- */
.hero{padding:44px 0 0;text-align:center;}
.hero h1{
  font-size:clamp(2.1rem, 7vw, 2.9rem);
  color:var(--pink);
  margin-bottom:16px;
}
.hero-tagline{
  font-family:'Baloo 2',sans-serif;font-weight:700;
  font-size:1.12rem;color:var(--green);
  margin-bottom:20px;
}
.hero-lead{max-width:33em;margin:0 auto 24px;}
.hero-points{
  display:flex;flex-direction:column;gap:8px;
  margin:0 auto 30px;
}
.hero-points span{
  font-family:'Baloo 2',sans-serif;font-weight:700;
  color:var(--pink);font-size:1.02rem;
}
/* Circular hero photo, matching the design's round crop. */
.hero-photo{
  width:min(320px, 78vw);aspect-ratio:1;
  margin:34px auto 0;
  border-radius:50%;overflow:hidden;
  border:8px solid var(--white);
  box-shadow:var(--shadow-lg);
}
.hero-photo img{width:100%;height:100%;object-fit:cover;}

/* --- Founder cards --- */
.founders{display:flex;flex-direction:column;gap:26px;margin-top:32px;}
.founder{
  background:var(--white);
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
  padding:34px 28px;
  text-align:center;
}
.founder-emoji{font-size:2rem;line-height:1;display:block;margin-bottom:12px;}
.founder-name{
  font-family:'Baloo 2',sans-serif;font-weight:800;
  font-size:1.5rem;color:var(--pink);
}
.founder-role{
  font-weight:700;font-size:.92rem;color:var(--green);
  margin-bottom:16px;
}
.founder-bio{color:var(--ink);}
.founder-notes{
  display:flex;flex-direction:column;gap:16px;
  margin-top:34px;text-align:center;
}
.founder-notes span{font-family:'Baloo 2',sans-serif;font-weight:700;color:var(--ink);}

/* --- Shop: one product per row, medallion + price + title + copy --- */
.product-list{margin-top:34px;}
.product{
  text-align:center;
  padding:34px 0;
  /* the design separates products with a gold dashed rule */
  border-bottom:2px dashed var(--gold);
}
.product:last-child{border-bottom:none;}
.product-medallion{
  width:170px;height:170px;
  margin:0 auto 18px;
  border-radius:50%;
  background:var(--white);
  box-shadow:var(--shadow-lg);
  display:grid;place-items:center;
  font-size:3.4rem;line-height:1;
}
.product-price{
  font-family:'Baloo 2',sans-serif;font-weight:700;
  font-size:1rem;color:var(--ink-soft);
  margin-bottom:6px;
}
.product-title{
  font-size:1.3rem;color:var(--green);
  margin-bottom:12px;
}
.product-desc{max-width:34em;margin:0 auto 18px;}
.product-note{
  font-family:'Baloo 2',sans-serif;font-weight:700;
  color:var(--pink);margin-bottom:16px;
}
.product.is-sold-out{opacity:.6;}
.grid-loading,.grid-error{padding:30px 0;text-align:center;color:var(--green);}
.grid-error{color:#B3245F;}

/* --- Promise grid --- */
.promise-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:34px 26px;margin-top:36px;text-align:center;
}
.promise-emoji{font-size:1.7rem;line-height:1;display:block;margin-bottom:10px;}
.promise h3{font-size:1.05rem;color:var(--green);margin-bottom:8px;}
.promise p{font-size:.95rem;}
.promise-photo{
  width:min(260px,70vw);margin:40px auto 0;
  border-radius:var(--radius-sm);overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.promise-closing{
  margin-top:26px;text-align:center;
  font-family:'Baloo 2',sans-serif;font-weight:700;
  font-size:1.15rem;color:var(--ink-soft);
}

/* --- Ordering options --- */
.order-cards{display:flex;flex-direction:column;gap:22px;margin-top:34px;}
.order-card{
  background:var(--white);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:28px 26px;text-align:center;
}
.order-card .promise-emoji{margin-bottom:12px;}
.order-card h3{font-size:1.12rem;color:var(--green);margin-bottom:10px;}

/* --- Payment methods --- */
.pay-heading{
  margin-top:44px;text-align:center;
  font-family:'Baloo 2',sans-serif;font-weight:700;
  font-size:1.05rem;color:var(--green);
}
.pay-pills{
  display:flex;flex-wrap:wrap;justify-content:center;gap:12px;
  margin:16px 0 12px;
}
.pay-pills span{
  padding:10px 22px;border-radius:999px;
  border:2px solid var(--sky);
  font-family:'Baloo 2',sans-serif;font-weight:700;
  font-size:.95rem;color:var(--green);
  background:var(--white);
}
.pay-note{text-align:center;font-size:.9rem;color:var(--ink-soft);}

/* --- Closing call to action --- */
.closing{padding:60px 0 20px;text-align:center;}
.closing h2{
  font-size:clamp(1.7rem,6vw,2.2rem);
  color:var(--ink-soft);margin-bottom:16px;
}
.closing p{max-width:32em;margin:0 auto 28px;}

@media (max-width: 560px){
  .promise-grid{grid-template-columns:1fr;gap:28px;}
  .product-medallion{width:140px;height:140px;font-size:2.9rem;}
}
