:root{--bg:#fff;--alt:#f5f5f7;--t:#1d1d1f;--m:#6e6e73;--a:#0071e3}*{box-sizing:border-box}
html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--t);background:var(--bg);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
nav{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid #0000001a}
nav .wrap{display:flex;justify-content:space-between;align-items:center;height:48px;font-size:14px}nav a{color:var(--t);text-decoration:none;margin-left:20px}nav b{font-size:17px}
.wrap{max-width:1000px;margin:0 auto;padding:0 22px}
.hero{text-align:center;padding:clamp(60px,10vw,120px) 0 40px}
h1{font-size:clamp(44px,8vw,96px);line-height:1.02;letter-spacing:-.045em;margin:0 0 16px;font-weight:700}
h2{font-size:clamp(30px,5vw,56px);letter-spacing:-.035em;line-height:1.05;margin:0 0 14px}
.sub{color:var(--m);font-size:clamp(18px,2.4vw,24px);max-width:680px;margin:0 auto;line-height:1.4}
section.band{padding:clamp(50px,8vw,100px) 0}.alt{background:var(--alt)}.dark{background:#000;color:#f5f5f7}.dark .sub,.dark .m{color:#a1a1a6}
.card{background:#fff;border-radius:22px;padding:24px;box-shadow:0 4px 24px #0000000d}
.btn{display:inline-block;border:0;cursor:pointer;background:var(--a);color:#fff;font:inherit;font-size:17px;padding:12px 24px;border-radius:980px;text-decoration:none}
.btn:hover{filter:brightness(1.08)}.btn.ghost{background:transparent;color:var(--a);box-shadow:inset 0 0 0 1px var(--a)}.btn:disabled{opacity:.4;cursor:default}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
input,textarea,select{width:100%;font:inherit;font-size:17px;padding:12px 14px;border:1px solid #d2d2d7;border-radius:12px;background:#fff;color:var(--t)}
label{display:block;font-size:14px;color:var(--m);margin:12px 0 6px}.m{color:var(--m)}.price{font-size:40px;font-weight:700;letter-spacing:-.03em}
canvas,img.out{max-width:100%;height:auto;border-radius:14px;background:#fff}
footer{padding:30px 0;color:var(--m);font-size:12px;text-align:center;background:var(--alt)}
@media(max-width:600px){nav .links a:not(:last-child){display:none}}
