*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f3f4f6;color:#111}
.hidden{display:none!important}
.hero{background:linear-gradient(135deg,#b3121a,#7a0b10);color:#fff;padding:22px 18px 26px;text-align:center}
.brand{display:flex;gap:12px;align-items:center;justify-content:center}
.logo{width:56px;height:56px;border-radius:14px;background:#fff;color:#b3121a;font-weight:900;font-size:24px;display:grid;place-items:center;flex:none}
h1{margin:0;font-size:24px;line-height:1.1;text-align:left}h1 span{font-size:17px;font-weight:600;opacity:.95}
.tag{font-size:18px;margin:14px 0 8px;font-weight:600}
.perks{list-style:none;padding:0;margin:0 auto 14px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:520px}
.perks li{background:rgba(255,255,255,.15);padding:5px 10px;border-radius:20px;font-size:14px}
.call{display:inline-block;background:#fff;color:#b3121a;font-weight:800;padding:10px 18px;border-radius:30px;text-decoration:none}
main{max-width:560px;margin:-12px auto 0;padding:0 12px}
.card{background:#fff;border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:0 2px 10px rgba(0,0,0,.07)}
h2{font-size:18px;margin:4px 0 12px}
.drop{display:block;border:2px dashed #b3121a;border-radius:14px;padding:28px 10px;text-align:center;cursor:pointer;color:#7a0b10;background:#fff5f5}
.drop input{display:none}
.busy{display:flex;gap:10px;align-items:center;margin-top:12px}.spin{width:22px;height:22px;border:3px solid #ddd;border-top-color:#b3121a;border-radius:50%;animation:s 1s linear infinite}@keyframes s{to{transform:rotate(360deg)}}
.err{color:#b91c1c;font-weight:600}.small{font-size:13px;color:#555}
.fname{font-weight:600;word-break:break-all;margin:0 0 8px}
.previews{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:10px}
.previews img{height:180px;border:1px solid #ddd;border-radius:6px;background:#fff;flex:none}
.previews.bw img{filter:grayscale(1)}
.opt{display:flex;justify-content:space-between;align-items:center;margin:10px 0;gap:8px}.opt>span{font-weight:600}
.seg{display:flex;border:1px solid #ccc;border-radius:10px;overflow:hidden}.seg input{display:none}
.seg label{padding:9px 12px;font-size:14px;cursor:pointer}.seg input:checked+label{background:#b3121a;color:#fff}
.stepper{display:flex}.stepper button{width:40px;font-size:20px;border:1px solid #ccc;background:#f9f9f9}.stepper input{width:60px;text-align:center;font-size:16px;border:1px solid #ccc;border-left:0;border-right:0}
.price{display:flex;justify-content:space-between;align-items:center;background:#fff5f5;border-radius:12px;padding:12px;margin:14px 0}
.total{font-size:26px;font-weight:900;color:#b3121a}#pdesc{font-size:13px;color:#555}
input,textarea{width:100%;font-size:16px;padding:11px;border:1px solid #ccc;border-radius:10px;margin-bottom:8px;font-family:inherit}
.go{width:100%;padding:15px;font-size:18px;font-weight:800;border:0;border-radius:12px;background:#b3121a;color:#fff;cursor:pointer}.go:disabled{opacity:.5}.go.alt{background:#374151}
.ref{font-size:22px;color:#b3121a}
.rates table{width:100%;border-collapse:collapse}.rates td{padding:6px 0;border-bottom:1px solid #eee}.rates td:last-child{text-align:right;font-weight:600}
footer{text-align:center;padding:20px;color:#555;font-size:14px}footer a{color:#b3121a;font-weight:700}
