/* SourcingPromo — homepage and about page. Tokens and shared classes come from tokens.css and style.css. */

.home-hero{padding-block:clamp(2rem,3.5vw,3rem)}
.home-hero__inner{display:grid;gap:clamp(1.5rem,3vw,2.75rem);align-items:center}
@media (min-width:900px){
  .home-hero__inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
}
.home-hero__copy{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.home-hero__copy h1{max-width:22ch}
.home-hero__copy .lede{max-width:56ch}
.home-hero__actions{margin-top:.35rem}
.home-hero__basis{margin-top:.25rem;max-width:64ch}
.home-hero__media{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);background:var(--sand-2)}
.home-hero__media img{width:100%;height:100%;object-fit:cover}
.home-hero__placeholder{aspect-ratio:4/3;min-height:14rem;padding:1rem;text-align:center}

/* ---------- three promises ---------- */
.home-trust__list,
.home-cats__grid,
.home-prices__grid,
.home-fast__list,
.home-methods__grid,
.home-about-problems,
.home-about-figures{list-style:none;margin:0;padding:0}
.home-trust__item{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:1.25rem 1.25rem 1.4rem;display:flex;flex-direction:column;gap:.4rem;
}
.home-trust__num{
  font-size:var(--step-3);font-weight:700;line-height:1;letter-spacing:-.03em;
  color:var(--brand-dark);font-variant-numeric:tabular-nums;
}
.home-trust__title{font-size:var(--step-1);letter-spacing:-.01em}
.home-trust__item .small{color:var(--ink-2)}

/* ---------- section heads ---------- */
.home-head{display:flex;flex-direction:column;gap:.6rem;margin-bottom:clamp(1.5rem,2.5vw,2.25rem);max-width:70ch}
.home-head .note{max-width:66ch}
.home-head--row{gap:1.25rem}
@media (min-width:860px){
  .home-head--row{flex-direction:row;align-items:flex-end;justify-content:space-between;max-width:none}
  .home-head--row>div{max-width:62ch}
  .home-head__aside{margin:0;white-space:nowrap;padding-bottom:.2rem}
}

/* ---------- the page's own intro copy ---------- */
.home-intro .home-prose{max-width:var(--maxw-narrow)}

/* ---------- category grid ---------- */
.home-cats__grid{gap:1rem}
.home-cat__link{display:flex;flex-direction:column;gap:.45rem;text-decoration:none;height:100%}
.home-cat__media{
  display:block;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);background:var(--sand-2);margin-bottom:.15rem;
}
.home-cat__img{width:100%;height:100%;object-fit:cover}
.home-cat__placeholder{display:block;width:100%;height:100%}
.home-cat__link:hover .home-cat__media{border-color:var(--line-strong)}
.home-cat__name{font-weight:600;letter-spacing:-.01em;line-height:1.3}
.home-cat__count{display:block}

/* ---------- published prices (cards come from parts/product-card.php) ---------- */
.home-prices__item{display:flex;min-width:0}
.home-prices__item>.card{flex:1;min-width:0}
.home-prices__foot{margin-top:clamp(1.25rem,2vw,1.75rem);max-width:70ch}

/* ---------- the five steps ---------- */
.home-steps{
  list-style:none;margin:0;padding:0;
  display:grid;gap:.9rem;
}
@media (min-width:640px){.home-steps{grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr))}}
.home-step{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:1.15rem 1.15rem 1.35rem;display:flex;flex-direction:column;gap:.4rem;
}
.home-step__num{
  margin:0;font-family:var(--font-mono);font-size:var(--step--1);font-weight:600;
  color:var(--brand);letter-spacing:.06em;
}
.home-step h3{font-size:var(--step-0);font-weight:650}
.home-step .small{color:var(--ink-2)}

/* ---------- fast lead-time band ---------- */
.home-fast{background:var(--brand-tint);border-block:1px solid var(--line)}
.home-fast__inner{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;justify-content:space-between}
.home-fast__copy{flex:1 1 22rem;display:flex;flex-direction:column;gap:.4rem;max-width:64ch}
.home-fast__copy h2{font-size:var(--step-2)}
.home-fast__list{display:flex;flex-wrap:wrap;gap:.5rem;margin:0}
.home-fast__item{
  display:inline-flex;align-items:baseline;gap:.5rem;padding:.45rem .8rem;
  background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius-pill);
  font-size:.9375rem;font-weight:600;text-decoration:none;color:var(--ink);
}
.home-fast__item:hover{border-color:var(--ink);color:var(--ink)}
.home-fast__days{font-size:var(--step--1);color:var(--ink-3);font-variant-numeric:tabular-nums}
.home-fast__more{margin:0;flex:0 0 auto;margin-left:auto}

/* ---------- decoration entry points ---------- */
.home-methods__grid{gap:1rem}
.home-method{
  border-top:2px solid var(--line-strong);padding-top:.9rem;
  display:flex;flex-direction:column;gap:.4rem;
}
.home-method h3{font-size:var(--step-1)}
.home-method h3 a{text-decoration:none}
.home-method h3 a:hover{color:var(--brand-dark)}
.home-method .small{margin:0}

/* ---------- closing band ---------- */
.home-cta{background:var(--ink);color:#F2EFEA}
.home-cta__inner{display:grid;gap:1.5rem;align-items:end}
@media (min-width:860px){.home-cta__inner{grid-template-columns:minmax(0,1fr) auto}}
.home-cta__copy{display:flex;flex-direction:column;gap:.7rem;max-width:66ch}
.home-cta__copy h2{color:#fff;font-size:var(--step-3)}
.home-cta__copy .lede{color:#B9B5AE}
.home-cta__copy .eyebrow{color:var(--brand)}
.home-cta__actions{margin:0}
.home-cta .btn--ghost{color:#fff;border-color:rgba(255,255,255,.34)}
.home-cta .btn--ghost:hover{color:#fff;border-color:#fff;background:rgba(255,255,255,.06)}
.home-cta .btn--primary:hover{color:#fff}

/* ---------- about page ---------- */
.home-about-hero__inner{max-width:var(--maxw-narrow)}
.home-about-model__foot{margin-top:clamp(1.25rem,2vw,1.9rem)}
.home-about-problem{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:1.15rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.4rem;
}
.home-about-problem h3{font-size:var(--step-1)}
.home-about-problem .small{margin:0;max-width:52ch}

.home-about-scope__columns{align-items:start;gap:clamp(1.5rem,4vw,3rem)}
.home-about-scope__col{display:flex;flex-direction:column;gap:.9rem}
.home-about-scope__flag{margin:0 0 -.45rem}
.home-about-scope__title{font-size:var(--step-1)}
.home-about-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.home-about-list li{
  position:relative;padding-left:1.4rem;font-size:.9375rem;line-height:1.55;color:var(--ink-2);
}
.home-about-list li::before{
  content:"";position:absolute;left:0;top:.62em;width:.75rem;height:2px;
  background:var(--ok);border-radius:2px;
}
.home-about-list--no li::before{background:var(--warn)}
.home-about-checks{margin-top:.5rem}
.home-about-factories__foot{margin-top:clamp(1.25rem,2vw,1.9rem)}

.home-about-photos__grid{gap:clamp(1rem,2vw,1.5rem)}
.home-about-photo{margin:0;display:flex;flex-direction:column;gap:.5rem}
.home-about-photo__frame{aspect-ratio:16/10;border-radius:var(--radius-lg);border:1px solid var(--line-strong);padding:1rem;text-align:center}
.home-about-photo figcaption{margin:0}

.home-about-figures{gap:clamp(1rem,2vw,1.5rem)}
.home-about-figure{
  border-top:2px solid var(--ink);padding-top:.9rem;
  display:flex;flex-direction:column;gap:.35rem;
}
.home-about-figure__num{
  margin:0;font-size:var(--step-4);font-weight:700;letter-spacing:-.035em;line-height:1;
  font-variant-numeric:tabular-nums;
}
.home-about-figure h3{font-size:var(--step-0);font-weight:650}
.home-about-figure .small{margin:0;max-width:44ch}
.home-about-note .home-prose{max-width:var(--maxw-narrow)}
