:root{--ink:#d6125a;--plum:#2a1450;--mint:#25d6a0;--bg:#f6f5fb;--line:#d9d4ea}
*{box-sizing:border-box}body{margin:0;font:17px/1.55 "Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--plum);background:var(--bg)}
a{color:inherit}h1,h2,.logo{font-family:Georgia,"Times New Roman",serif;font-weight:700;line-height:1.05;letter-spacing:-.02em}
.wrap{max-width:1020px;margin:auto;padding:0 20px}
nav{display:flex;justify-content:space-between;align-items:center;padding:18px 0}.logo{font-size:30px;text-decoration:none;color:var(--plum)}.logo i{color:var(--ink);font-style:normal}
.btn{display:inline-block;background:var(--ink);color:#fff;padding:12px 22px;border:0;border-radius:999px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.btn.d{background:var(--plum)}.btn.s{padding:6px 14px;font-size:14px}.btn.m{background:var(--mint);color:var(--plum)}
.btn:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--plum);outline-offset:2px}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding-top:36px;padding-bottom:70px}
.hero h1{font-size:clamp(42px,6.5vw,74px);margin:0 0 18px}.hero p{font-size:20px;max-width:36ch;margin:0 0 26px}
.pcard{background:#fff;border:2px solid var(--plum);border-radius:18px;padding:24px;box-shadow:8px 8px 0 var(--plum);transform:rotate(-2deg)}
.pcard h3{margin:0 0 2px;font:700 22px Georgia,serif}.pcard small{color:#6b5f8a}
.dots{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}
.dot{aspect-ratio:1;border-radius:50%;border:2px dashed var(--line);display:grid;place-items:center;font-size:12px;font-weight:700;color:#a79fc0}
.dot.on{border:3px solid var(--ink);color:var(--ink);background:#fff0f6;font-size:11px;letter-spacing:.08em;transform:rotate(-12deg)}
.dot.on:nth-child(3n){transform:rotate(9deg)}.dot.on:nth-child(4n){transform:rotate(-4deg)}
.sec{padding:60px 0}.sec h2{font-size:clamp(32px,4.6vw,48px);margin:0 0 26px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.box{background:#fff;border:2px solid var(--line);border-radius:14px;padding:22px}.box.hl{border-color:var(--plum);box-shadow:6px 6px 0 var(--mint)}
.box h3{margin:0 0 6px;font-size:20px}.price{font:700 44px Georgia,serif}.box ul{padding-left:18px;margin:12px 0 18px}
footer{background:var(--plum);color:#cbc2e6;padding:28px 0;font-size:15px}
.card{max-width:430px;margin:40px auto;background:#fff;border:2px solid var(--plum);border-radius:16px;padding:28px;box-shadow:6px 6px 0 var(--ink)}
label{display:block;font-weight:700;margin:14px 0 4px}input{width:100%;padding:11px;border:2px solid var(--line);border-radius:10px;font:inherit}
.err{background:#fde4ee;border:2px solid var(--ink);padding:10px;border-radius:10px;margin-bottom:10px}
.top{background:var(--plum);color:#fff}.top .logo{color:#fff}.top a{color:#fff}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:24px 0}
.stat{background:#fff;border:2px solid var(--line);border-radius:12px;padding:14px}.stat b{display:block;font:700 32px Georgia,serif}
.panel{background:#fff;border:2px solid var(--line);border-radius:14px;padding:20px;margin:18px 0}.panel h2{font-size:24px;margin:0 0 10px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.row>*{flex:1 1 150px}.row .btn{flex:0 0 auto}
table{width:100%;border-collapse:collapse}td,th{padding:11px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.win{color:#0b8a63;font-weight:700}code{background:var(--bg);padding:2px 6px;border-radius:6px;word-break:break-all}
@media(max-width:760px){.hero .wrap{grid-template-columns:1fr}.pcard{transform:none}}
@media(prefers-reduced-motion:no-preference){.pcard .dot.on:last-of-type{animation:st .5s .4s cubic-bezier(.3,1.6,.5,1) both}@keyframes st{from{transform:scale(2.2) rotate(20deg);opacity:0}}}
