:root{--bg:#fbf8f3;--fg:#1f1b16;--muted:#5e564c;--card:#fff;--line:#e6dfd4;--accent:#9b2c2c;--accent-fg:#fff;--soft:#f3ece1;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#15130f;--fg:#f1ebe2;--muted:#b9afa2;--card:#1f1c17;--line:#36302a;--accent:#e07a6b;--accent-fg:#1a0f0d;--soft:#24201a;color-scheme:dark}}
:root[data-theme=dark]{--bg:#15130f;--fg:#f1ebe2;--muted:#b9afa2;--card:#1f1c17;--line:#36302a;--accent:#e07a6b;--accent-fg:#1a0f0d;--soft:#24201a;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2}h1{font-size:clamp(2rem,4.5vw,3.1rem);margin:.2em 0}h2{font-size:1.9rem;margin:0 0 .6em}
a{color:var(--accent)}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.narrow{max-width:720px}.muted{color:var(--muted)}
header.top{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;max-width:1080px;margin:0 auto}
.brand{font-weight:700;text-decoration:none;color:var(--fg)}.tbtn{background:var(--card);border:1px solid var(--line);color:var(--fg);border-radius:999px;padding:6px 14px;cursor:pointer;font:inherit;font-size:.9rem}
.btn{display:inline-block;background:var(--accent);color:var(--accent-fg);padding:13px 24px;border-radius:10px;text-decoration:none;font-weight:600;border:0;font-size:1rem;cursor:pointer}
.btn:disabled{opacity:.6;cursor:wait}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;padding:24px 20px 56px}
@media(max-width:820px){.hero{grid-template-columns:1fr}}section{padding:56px 0;border-top:1px solid var(--line)}
.ba{position:relative;overflow:hidden;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.18);user-select:none;touch-action:pan-y;background:#222}
.ba img{display:block;width:100%;height:auto}.ba .after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--p,50%))}
.ba .after img{height:100%;object-fit:cover}.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba .bar{position:absolute;top:0;bottom:0;left:var(--p,50%);width:3px;background:#fff;transform:translateX(-50%);pointer-events:none}
.ba .bar::after{content:"⇆";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;color:#222;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:18px}
.ba .lab{position:absolute;top:10px;padding:2px 10px;border-radius:6px;background:rgba(0,0,0,.6);color:#fff;font-size:.8rem;pointer-events:none}.ba .l{left:10px}.ba .r{right:10px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
.cap{font-size:.85rem;color:var(--muted);margin-top:8px}.steps{counter-reset:s;list-style:none;padding:0}.steps li{counter-increment:s;position:relative;padding-left:52px;margin-bottom:18px}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;font-weight:700}
.price{font-size:2.4rem;font-weight:700;font-family:Georgia,serif}.note{background:var(--soft);border-left:4px solid var(--accent);padding:14px 18px;border-radius:8px}
form label{display:block;font-weight:600;margin:14px 0 6px}input[type=text],input[type=email],textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg);font:inherit}
.drop{border:2px dashed var(--line);border-radius:12px;padding:26px;text-align:center;background:var(--bg);cursor:pointer}.drop.on{border-color:var(--accent)}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.thumbs img{width:72px;height:72px;object-fit:cover;border-radius:6px}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:400!important}.err{color:#c53030;font-weight:600}
details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-weight:600}footer{padding:36px 20px;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line);text-align:center}
