.home-hero { padding:64px 0 48px; text-align:center; }
.home-hero .kicker { color:var(--muted); margin-bottom:18px; }
.home-hero h1 { font-size:clamp(52px,6vw,80px); }
.home-hero h1 span { color:var(--muted); }
.home-hero .lead { margin:22px auto 0; font-size:17px; }
.product-section { padding-bottom:76px; }
.product-card { display:block; background:#eae9e3; border-radius:24px; overflow:hidden; }
.product-art { display:block; background:#181a0e; }
.product-art img { width:100%; height:auto; aspect-ratio:3/2; }
.product-caption { padding:28px 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.product-name { display:flex; gap:16px; align-items:center; }
.product-name img { width:48px; height:48px; border-radius:12px; }
.product-name h2 { font-size:25px; letter-spacing:-.035em; }
.product-name p { color:var(--muted); margin-top:7px; font-size:14px; }
.product-link { display:flex; align-items:center; gap:18px; font-size:13px; font-weight:600; }
.link-arrow { width:40px; height:40px; border:1px solid #c3c5ba; border-radius:50%; display:grid; place-items:center; font-size:19px; transition:background .2s,transform .2s; }
.product-card:hover .link-arrow { background:var(--ink); color:var(--bg); transform:translate(2px,-2px); }
.product-card:focus-visible { outline-offset:7px; }
.approach { border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 2fr; gap:48px; padding-block:58px 64px; }
.approach h2 { font-size:36px; }
.approach p:not(.kicker) { color:var(--muted); margin:20px 0 12px; max-width:40ch; }
@media(max-width:1000px) {
  .product-caption { align-items:flex-start; flex-direction:column; gap:18px; }
  .product-link { width:100%; justify-content:space-between; }
}
@media(max-width:680px) {
  .home-hero { padding:32px 0 30px; text-align:left; }
  .home-hero .kicker { display:none; }
  .home-hero h1 { font-size:clamp(43px,12vw,62px); }
  .home-hero .lead { font-size:15px; margin:16px 0 0; }
  .product-section { padding-bottom:40px; }
  .product-card { border-radius:16px; }
  .product-art img { aspect-ratio:3/2; }
  .product-caption { padding:22px; gap:18px; }
  .product-name { gap:12px; align-items:flex-start; }
  .product-name img { width:36px; height:36px; border-radius:9px; }
  .product-name h2 { font-size:21px; }
  .product-name p { font-size:13px; margin-top:8px; }
  .product-link { font-size:12px; border-top:1px solid #d2d3ca; padding-top:14px; }
  .link-arrow { width:34px; height:34px; font-size:17px; }
  .approach { grid-template-columns:1fr; gap:20px; padding-block:36px 42px; }
  .approach h2 { font-size:30px; }
  .approach p:not(.kicker) { font-size:14px; margin-top:16px; }
}
