単一HTMLで、架空のハードウェア製品(ノブ型の入力デバイス)のLPを作ってください。テーマは「ハイパーリアル3D」。ライブラリを使わず、CSSだけで金属とガラスの質感を作ります。
【物体の作り方】
- 親に perspective: 1200px、物体に transform-style: preserve-3d
- 金属面:conic-gradient で明暗を8箇所以上切り替える(#ffffff → #9aa4b2 → #3a4149 → #e8edf3 → #6f7885 → #20242a → #cfd7e0 → #ffffff)。これが削り出しアルミの反射になる
- 中央の凹み:radial-gradient(circle at 32% 26%, ...) + inset 0 2px 10px の白と inset 0 -14px 30px の黒で深さを出す
- ガラス:inset 26% に translateZ(38px)、linear-gradient の半透明、border 1px #ffffff40、backdrop-filter: blur(3px)、inset 0 1px 12px #ffffff66。さらに ::before で楕円のハイライトを blur(2px) で1つ置く
- インジケータ:translateZ(60px) の 12px 円に box-shadow 0 0 14px 4px のアンバー発光
- 接地影は 0 40px 80px #000000aa。物体の下に落ちる影だけは濃く許可する
【動き】
- pointermove で rotateX / rotateY を追従させる(rotateX = 14 - y*12、rotateY = -18 + x*20、単位deg)。passive:true
- 7秒周期で translate 0 -16px の float を重ねる
- ボタンの hover は translateY(-2px) を cubic-bezier(.34,1.45,.64,1) で
【ページ構成】
- ダークな地(radial-gradient で上部を明るく)、2カラムのヒーロー(左に見出しと価格CTA、右に物体)
- 見出しは background-clip:text で白→灰のグラデーションを当てる(ただし本文には使わない)
- 仕様は3枚。1枚目だけ span を広くし、中に同じ質感で作った小さなノブを置く
- 数値は手触りの話にする(クリック数、質量、接続方式)。性能を誇張しない
【禁止】
- Three.js / model-viewer / 3Dモデルファイル
- 全面ガラスモーフィズム(ガラスは物体と最大3面まで)
- 紫グラデーション
【技術要件】
- prefers-reduced-motion で pointer追従と float を停止
- 880px以下で1カラム、物体は width min(340px, 72vw)
- 物体の装飾レイヤーは aria-hidden、外枠に aria-label で製品名
- 架空製品であることをフッターに明記