.approach-main { padding:calc(var(--stack-inset) + 72px) clamp(24px,4vw,64px) 0; color:var(--stack-ink); }
.approach-intro { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; padding-bottom:72px; }
.approach-intro h1 { font-size:clamp(56px,7vw,100px); font-weight:600; letter-spacing:-.045em; line-height:1.04; margin:0; }
.approach-lead { max-width:540px; font-size:18px; line-height:1.7; }
.approach-lead p { margin-bottom:16px; }
.approach-lead p:last-child { color:var(--muted); margin-bottom:0; font-size:14px; }
.approach-principle { display:grid; grid-template-columns:1fr 1fr; gap:64px; border-top:1px solid var(--line); padding:52px 0 60px; }
.approach-heading { display:grid; grid-template-columns:48px 1fr; gap:24px; align-items:start; }
.approach-number { color:var(--accent); font-size:13px; font-weight:500; line-height:1.5; padding-top:9px; font-variant-numeric:tabular-nums; }
.approach-heading h2 { font-size:clamp(30px,3vw,42px); font-weight:500; letter-spacing:-.035em; line-height:1.15; margin:0; }
.approach-copy { max-width:540px; font-size:16px; line-height:1.8; }
.approach-copy p { margin-bottom:18px; }
.approach-copy p:last-child { color:var(--muted); margin-bottom:0; }
.approach-next { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:40px; margin:12px 0 64px; background:var(--accent-soft); border-radius:12px; }
.approach-next h2 { font-size:clamp(28px,3vw,40px); font-weight:500; letter-spacing:-.035em; margin:0; }
.approach-next a { display:inline-flex; align-items:center; gap:28px; min-height:44px; color:var(--accent); font-size:14px; }
.approach-next a:hover { text-decoration:underline; text-underline-offset:5px; }
.approach-next a span { font-size:24px; }
.approach-page .stack-footer { border-top:1px solid var(--line); }
@media (max-width:760px) {
  .approach-main { padding-top:calc(var(--stack-inset) + 40px); }
  .approach-intro { grid-template-columns:1fr; gap:28px; margin-inline-start:32px; padding-bottom:40px; }
  .approach-lead { font-size:16px; }
  .approach-principle { grid-template-columns:1fr; gap:24px; padding:32px 0 36px; }
  .approach-heading { grid-template-columns:24px 1fr; gap:8px; }
  .approach-number { padding-top:5px; font-size:12px; }
  .approach-copy { margin-inline-start:32px; font-size:15px; }
  .approach-next { align-items:flex-start; flex-direction:column; gap:12px; padding:24px; margin-bottom:36px; }
}
