.hero h1{font-size:clamp(44px,5.2vw,74px);text-wrap:balance}
.hero{padding-top:112px;min-height:auto}
.hero-visual img{height:auto}
.detail-scene{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center}
.detail-scene img{height:auto;object-fit:contain}
.detail-copy{position:static;width:auto;padding:0;background:transparent;box-shadow:none;margin:0}
.detail-copy h2{font-size:clamp(30px,3.5vw,48px);text-wrap:balance}
.reveal-ready{transition:opacity .5s ease,transform .5s ease}
.reveal-pending{opacity:0;transform:translateY(20px)}
.reveal-pending:focus-within{opacity:1;transform:none}
.process{align-items:start}
.process-image{position:sticky;top:96px;min-width:0}
.process-image img{width:100%;height:min(58vh,560px);aspect-ratio:auto;object-fit:contain;background:var(--soft)}
.process-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.process-controls button{flex:1;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;font-size:13px}
.process-controls button[aria-pressed=true]{background:var(--accent-dark);color:white;border-color:var(--accent-dark)}
.process li{min-height:240px;align-content:center;border-left:3px solid transparent;padding-left:20px;transition:background .25s,border-color .25s}
.process li.step-active{background:var(--soft);border-left-color:var(--accent)}
.faq details[open] summary span{transform:rotate(45deg)}
.faq summary span{transition:transform .2s}
.includes-summary{background:var(--soft);color:var(--ink)}
@media(max-width:780px){
 .hero{padding-top:96px}.hero h1{font-size:clamp(38px,10vw,54px)}
 .hero-visual img{height:auto;aspect-ratio:auto;max-height:none;object-fit:contain}
 .detail-scene{grid-template-columns:1fr;gap:24px}.detail-copy{position:static;width:100%;margin:0;padding:0}
 .process-image{position:static}.process li{min-height:180px}
 .process-image img{height:320px}.process-controls button{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 .reveal-ready,.process li,.faq summary span{transition:none}
 .reveal-pending{opacity:1;transform:none}.process-image{position:static}
}
