*{box-sizing:border-box}body{color:#292b28;background:#faf9f6;margin:0;font-family:Arial,sans-serif}.app{max-width:480px;min-height:100vh;margin:auto;padding-bottom:96px}header{font-family:var(--heading-font);border-bottom:1px solid #e9e5dc;padding:20px 22px;font-size:22px}main{padding:22px}.hero{object-fit:cover;border-radius:var(--radius);width:100%;height:240px;display:block}h1{font-family:var(--heading-font);letter-spacing:-1.5px;white-space:pre-line;margin:24px 0 8px;font-size:44px;font-weight:500;line-height:1.05}h2{font-family:var(--heading-font);margin:0 0 8px;font-size:30px;font-weight:500}h3{margin:28px 0 8px}p{color:#5f6058;line-height:1.6}.hint{margin:4px 0 16px;font-size:14px}.big{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;width:100%;min-height:58px;font-size:18px;font-weight:700;display:flex}.big:disabled{opacity:.6}.big:focus-visible,nav button:focus-visible,.chip:focus-visible{outline-offset:2px;outline:3px solid #292b28}.perks{gap:10px;margin:24px 0;padding:0;list-style:none;display:grid}.perks li{color:#292b28;align-items:center;gap:10px;display:flex}.perks svg{color:var(--accent)}form{gap:16px;display:grid}label{gap:8px;font-size:15px;font-weight:600;display:grid}input,textarea{font:inherit;background:#fff;border:1px solid #cfc9bd;border-radius:12px;min-height:52px;padding:15px;font-weight:400}.chips{gap:10px;display:grid}.chip{border-radius:var(--radius);text-align:left;cursor:pointer;background:#fff;border:2px solid #e0dacf;min-height:54px;padding:0 16px;font-size:16px}.chip.on{border-color:var(--accent);background:#f8e9e5;font-weight:700}ul{padding:0;list-style:none}li p{margin:4px 0 0}ul:not(.perks) li{background:#fff;border:1px solid #e5dfd6;border-radius:12px;margin-bottom:10px;padding:14px}ul:not(.perks) li span{float:right;color:#78786f;font-size:13px}nav{max-width:480px;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #e9e5dc;grid-template-columns:repeat(3,1fr);margin:auto;display:grid;position:fixed;bottom:0;left:0;right:0}nav button{color:#5f6058;cursor:pointer;background:0 0;border:0;justify-items:center;gap:4px;min-height:68px;font-size:13px;display:grid}nav button.on{color:var(--accent);font-weight:700}@media (prefers-reduced-motion:no-preference){.big{transition:transform .1s}.big:active{transform:scale(.98)}}
