/* Home page */
.home-hero { position: relative; overflow: hidden; background: #fff; padding-block: 2rem 2.5rem; }
@media (min-width: 768px) { .home-hero { padding-block: 5rem 6rem; } }
.hero-blob { position: absolute; border-radius: 999px; pointer-events: none; }
.hero-blob-a { width: 16rem; height: 16rem; top: -4rem; left: -3rem; background: var(--muted); }
.hero-blob-b { width: 22rem; height: 22rem; top: 10rem; right: -6rem; background: var(--gold-15); opacity: .6; }
.hero-grid { position: relative; display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 1024px) { .hero-grid { grid-template-columns: 1fr 1fr; gap: 3rem; } }
.hero-copy { display: flex; flex-direction: column; align-items: flex-start; }
.home-hero h1 { margin-top: 1.5rem; font-size: 2.25rem; font-weight: 900; line-height: 1.45; text-wrap: balance; }
@media (min-width: 768px) { .home-hero h1 { font-size: 3.75rem; line-height: 1.35; } }
.hero-lead { margin-top: 1.5rem; font-size: 1.0625rem; line-height: 2; color: var(--muted-foreground); }
@media (min-width: 768px) { .hero-lead { font-size: 1.125rem; } }
.hero-meta { font-size: 1.0625rem; color: var(--muted-foreground); }
.hero-cta { margin-top: 2.25rem; height: auto; min-height: 3rem; padding: .75rem 1.75rem; font-size: .9375rem; white-space: normal; text-align: center; line-height: 1.6; }
@media (min-width: 768px) { .hero-cta { font-size: 1rem; } }
.hero-cta .icon { transition: transform .2s; }
.hero-cta:hover .icon { transform: rotate(12deg); }
.hero-media { position: relative; padding: .75rem; background: #fff; border: 1px solid var(--border); border-radius: 1.5rem; box-shadow: var(--shadow-xl); }
@media (min-width: 1024px) { .hero-media { transform: rotate(-1.5deg); } }
.hero-media img { width: 100%; height: auto; border-radius: 1rem; }
.hero-badge {
  position: absolute; bottom: -1.5rem; right: 1.5rem; display: flex; align-items: center; gap: .75rem;
  max-width: 15rem; padding: .875rem 1rem; background: #fff; border: 1px solid var(--border); border-radius: .75rem;
  box-shadow: var(--shadow-lg); font-size: .8125rem; font-weight: 700; line-height: 1.7;
}
@media (min-width: 1024px) { .hero-badge { transform: rotate(1.5deg); } }
.hero-badge-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: .5rem; background: var(--gold-15); color: var(--primary); flex-shrink: 0; }

.reason-card { text-align: center; display: flex; flex-direction: column; align-items: center; }
.reason-card .icon-chip { margin-bottom: 1rem; }
.reason-card .card-text { margin-top: .5rem; }

.all-services {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; min-height: 12rem;
  border-radius: 1rem; background: var(--primary); color: #fff; font-weight: 800; box-shadow: var(--shadow-lg);
  transition: transform .2s, box-shadow .2s;
}
.all-services .icon { color: var(--gold); }
.all-services:hover { transform: translateY(-2px); box-shadow: var(--shadow-xl); }

.decision-grid { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 1024px) { .decision-grid { grid-template-columns: 1fr 1fr; gap: 4rem; } }
.decision-copy p { margin-top: 1.25rem; color: var(--muted-foreground); line-height: 2.1; max-width: 60ch; }
.decision-chart { padding: 1.5rem; border-radius: 1.5rem; box-shadow: var(--shadow-xl); }
.decision-chart svg { width: 100%; height: auto; }
.decision-chart figcaption { margin-top: .75rem; text-align: center; font-size: .8125rem; color: var(--muted-foreground); }

.process-step { position: relative; }
.process-step .step-no { margin-bottom: 1rem; }
.process-step .card-text { margin-top: .5rem; }

.case-card { display: grid; gap: 1.125rem; align-content: start; padding: 1.75rem; }
.case-name { font-size: 1.25rem; font-weight: 900; }
.case-industry { margin-top: .25rem; font-size: .8125rem; color: var(--muted-foreground); }
.case-part h4, .case-why h4 { font-size: .875rem; font-weight: 800; color: var(--primary); margin-bottom: .375rem; }
.case-part p { font-size: .875rem; line-height: 1.9; color: var(--muted-foreground); }
.case-list { display: grid; gap: .375rem; font-size: .875rem; color: var(--muted-foreground); }
.case-list li { position: relative; padding-inline-start: 1rem; line-height: 1.8; }
.case-list li::before { content: ""; position: absolute; right: 0; top: .7rem; width: .375rem; height: .375rem; border-radius: 999px; background: var(--gold); }
.case-result { color: var(--foreground) !important; font-weight: 700; }
.case-why { margin-top: .25rem; padding: 1rem 1.125rem; border-radius: .75rem; background: var(--primary-5); border: 1px solid var(--primary-10); }
.case-why p { font-size: .875rem; line-height: 1.9; }

.audience-item { display: flex; align-items: center; gap: 1rem; font-weight: 700; }
.goals li { display: flex; align-items: center; gap: .75rem; padding: 1.125rem 1.25rem; border-radius: .75rem; background: var(--muted); font-weight: 700; }
.goals .icon { color: var(--primary); }
