:root{
  --navy:#16233b; --navy-2:#1f3357; --ink:#1a2233; --muted:#5b6577;
  --line:#e4e8ef; --bg:#f4f6fb; --card:#ffffff; --accent:#3d5afe; --accent-700:#2f45c8;
  --ok:#0f9d58; --warn:#b23b3b; --radius:14px;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased;}
.wrap{max-width:760px;margin:0 auto;padding:0 18px 64px;}
header.top{background:linear-gradient(140deg,var(--navy),var(--navy-2));color:#fff;padding:34px 0 30px;margin-bottom:26px;}
header.top .inner{max-width:760px;margin:0 auto;padding:0 18px;}
.brand{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;opacity:.85;}
header.top h1{margin:8px 0 6px;font-size:1.7rem;letter-spacing:-.01em;}
header.top p{margin:0;color:rgba(255,255,255,.82);font-size:.98rem;max-width:56ch;}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 8px;margin-bottom:18px;box-shadow:0 1px 2px rgba(16,26,48,.04),0 10px 30px rgba(16,26,48,.05);}
.card h2{margin:0 0 2px;font-size:1.05rem;color:var(--navy);}
.card .sub{margin:0 0 16px;color:var(--muted);font-size:.86rem;}
.field{display:block;margin-bottom:15px;}
.field > span{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px;color:#2a3346;}
.field small.hint{display:block;color:var(--muted);font-size:.8rem;margin-top:5px;}
input[type=text],input[type=email],input[type=tel],textarea{
  width:100%;border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;font:inherit;font-size:.95rem;color:var(--ink);background:#fdfefe;transition:border-color .15s,box-shadow .15s;}
input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(61,90,254,.14);background:#fff;}
textarea{min-height:70px;resize:vertical;}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){.row{grid-template-columns:1fr;}}
.req{color:var(--accent);}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.fonts{background:#f7f9fc;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.8rem;color:var(--muted);margin-top:8px;}
.fonts b{color:#2a3346;}
.fonts span{display:block;margin-top:3px;}
.swatches{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px;}
.swatch-lead{font-size:.8rem;color:var(--muted);}
.swatches .hint{margin-top:0;}
.swatches input[type=color]{width:34px;height:30px;padding:0;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer;}
.actions{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(244,246,251,0),var(--bg) 40%);padding:16px 0 4px;margin-top:6px;}
.btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:11px;padding:14px 26px;font:inherit;font-weight:700;font-size:1rem;cursor:pointer;background:var(--accent);color:#fff;box-shadow:0 6px 18px rgba(61,90,254,.28);}
.btn:hover{background:var(--accent-700);}
.note{color:var(--muted);font-size:.82rem;margin:10px 2px 0;}
.alert{border-radius:10px;padding:12px 15px;margin-bottom:14px;font-size:.9rem;}
.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;}
.done{text-align:center;padding:48px 24px;}
.done .check{width:64px;height:64px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:2rem;line-height:64px;margin:0 auto 14px;}
.done h2{color:var(--navy);margin:0 0 8px;font-size:1.5rem;}
.done p{color:var(--muted);max-width:44ch;margin:0 auto;}
footer{text-align:center;color:var(--muted);font-size:.78rem;margin-top:26px;}
