.qp [hidden]{ display:none !important; }
.qp a{ color:inherit; }
.qp :focus-visible{ outline:3px solid var(--red); outline-offset:3px; }
.qp .wrap{ display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); padding:0 clamp(20px,5vw,72px) 80px; margin-top:-30px; align-items:start; }
.qp form{ display:grid; gap:26px; }
.qp fieldset{ margin:0; padding:22px 22px 24px; border:5px solid var(--ink); background:var(--card); box-shadow:8px 8px 0 var(--red); min-width:0; }
.qp legend{ padding:6px 18px; margin-left:-8px; background:var(--ink); color:#F2E6C6; font-family:var(--display); font-size:22px; letter-spacing:.1em; text-transform:uppercase; }
.qp .row{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.qp .row.one{ grid-template-columns:minmax(0,1fr); }
.qp .f{ display:flex; flex-direction:column; gap:6px; margin-top:14px; }
.qp label, .qp .lbl{ font-family:var(--label); font-size:14px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
.qp .req{ color:var(--red); }
.qp .hint{ font-size:13.5px; color:var(--lead); line-height:1.45; }
.qp input[type=text], .qp input[type=email], .qp input[type=tel], .qp input[type=number], .qp input[type=date], .qp input[type=url], .qp select, .qp textarea{ width:100%; min-height:50px; padding:10px 14px; border:3px solid var(--ink); border-radius:0; background:#fff; color:var(--ink); font:inherit; font-size:16px; }
.qp textarea.grow{ display:block; resize:none; overflow:hidden; line-height:1.4; }
.qp textarea.grow.one{ min-height:50px; height:50px; }
.qp textarea{ min-height:110px; }
.qp input[type=file]{ width:100%; padding:12px; border:3px dashed var(--ink); background:#fff; font:inherit; font-size:15px; }
.qp select{ -webkit-appearance:none; appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%); background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%; background-size:6px 6px,6px 6px; background-repeat:no-repeat; padding-right:40px; }
.qp input:focus, .qp select:focus, .qp textarea:focus{ outline:3px solid var(--red); outline-offset:0; }
.qp .checks{ display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:10px; margin-top:8px; }
.qp .checks label{ display:flex; align-items:center; gap:10px; min-height:48px; padding:6px 12px; border:3px solid var(--ink); background:#fff; cursor:pointer; font-size:14px; }
.qp .checks input{ width:20px; height:20px; accent-color:var(--red); flex:none; }
.qp .checks label:has(input:checked){ background:var(--ink); color:#F2E6C6; }
.qp .send{ justify-self:start; min-height:64px; padding:0 54px 0 44px; border:0; background:var(--red); color:#fff; cursor:pointer; font-family:var(--display); font-size:26px; letter-spacing:.1em; text-transform:uppercase; clip-path:polygon(0 0,100% 0,calc(100% - 18px) 50%,100% 100%,0 100%,18px 50%); }
.qp .send:hover{ background:var(--ink); }
.qp .wrap{ position:relative; z-index:2; }
.qp .types{ display:grid; gap:12px; margin-top:8px; }
.qp .type{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.qp .chip{ display:flex; align-items:center; gap:10px; min-height:50px; min-width:210px; padding:6px 14px; border:3px solid var(--ink); background:#fff; cursor:pointer; font-size:14px; }
.qp .chip input{ width:20px; height:20px; accent-color:var(--red); flex:none; }
.qp .chip:has(input:checked){ background:var(--ink); color:#F2E6C6; }
.qp .qtybox{ display:flex; flex-wrap:wrap; flex:1 1 320px; align-items:center; gap:10px 18px; font-family:var(--label); font-size:14px; letter-spacing:.12em; text-transform:uppercase; }
.qp .qtybox label{ display:flex; align-items:center; gap:10px; }
.qp .qtybox input[type=number]{ width:110px; min-height:50px; }
.qp .total{ margin-top:6px; font-family:var(--display); font-size:26px; letter-spacing:.06em; color:var(--red); }
.qp .ticks{ display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
.qp .hint.inline{ font-family:var(--body); text-transform:none; letter-spacing:0; font-weight:400; margin-left:8px; }
.qp .panels{ display:grid; gap:16px; margin-top:16px; }
.qp .lpanel{ padding:16px 18px 18px; border:4px solid var(--ink); border-left-width:12px; background:#fff7dd; display:grid; gap:8px; }
.qp .lpanel h4{ margin:0; font-family:var(--display); font-weight:400; font-size:26px; letter-spacing:.06em; text-transform:uppercase; }
.qp .subpanel{ padding:12px 14px 14px; border:3px solid var(--ink); background:#fff; display:grid; gap:6px; }
.qp .subpanel h5{ margin:0; font-family:var(--label); font-weight:600; font-size:16px; letter-spacing:.12em; text-transform:uppercase; color:var(--red); }
.qp .grid2{ display:grid; grid-template-columns:minmax(0,1fr); gap:14px; }
.qp .grid2 .f{ margin-top:6px; }
.qp .know{ display:flex; align-items:center; gap:8px; font-size:13px; }
.qp .know input{ width:20px; height:20px; accent-color:var(--red); }
.qp .nest{ flex:1 1 100%; width:100%; }
.qp .qtybox .nest.wide{ flex:1 1 100%; }
.qp .qtybox .full{ flex:1 1 100%; width:100%; }
.qp .qtybox .full label{ flex-direction:column; align-items:stretch; gap:6px; width:100%; }
.qp .qtybox .full textarea{ width:100%; }
.qp .nest label{ flex-direction:column; align-items:stretch; gap:6px; width:100%; }
.qp .chip:has(input:disabled){ opacity:.4; cursor:not-allowed; }
.qp .qtybox .wide{ flex:1 1 280px; }
.qp .qtybox .wide input, .qp .nest input, .qp .qtybox .wide textarea, .qp .nest textarea{ width:100%; }
.qp .idea{ margin-top:26px; padding-top:18px; border-top:4px double var(--ink); }
.qp .idea h3{ margin:0; font-family:var(--display); font-weight:400; font-size:30px; letter-spacing:.04em; text-transform:uppercase; text-shadow:3px 3px 0 var(--gold); }
.qp .refs{ display:grid; gap:10px; margin-top:6px; }
.qp .err{ padding:12px 16px; border:4px solid var(--red); background:#fff; color:var(--red); font-weight:600; }
.qp .sm{ margin-top:10px; font-size:12px; }
.qp .ref{ display:grid; gap:8px; padding:12px; border:3px dashed var(--ink); background:#fff; }
.qp .refs{ grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.qp .filenote{ margin-top:8px; padding:10px 12px; border:3px solid var(--red); background:#fff; font-size:14px; line-height:1.5; }
.qp .filenote a{ color:var(--red); font-weight:600; }
.qp .hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.qp .thanks{ display:none; padding:26px; border:5px solid var(--ink); background:var(--card); box-shadow:8px 8px 0 var(--gold); }
.qp .thanks h2{ margin:0 0 8px; font-family:var(--display); font-weight:400; font-size:44px; text-shadow:3px 3px 0 var(--red); }
.qp .thanks p{ margin:0 0 8px; line-height:1.6; }
.qp .preview{ margin-top:10px; padding:8px 12px; border:2px dashed var(--red); font-size:14px; color:var(--red); }
.qp aside{ display:grid; gap:24px; position:sticky; top:104px; }
.qp .box{ padding:22px; border:5px solid var(--ink); background:var(--navy); color:#F2E6C6; box-shadow:8px 8px 0 var(--red); }
.qp .box h2{ margin:0 0 12px; font-family:var(--display); font-weight:400; font-size:34px; letter-spacing:.04em; text-shadow:3px 3px 0 var(--red); text-transform:uppercase; }
.qp .box ol{ margin:0; padding:0; list-style:none; counter-reset:s; display:grid; gap:12px; }
.qp .box li{ counter-increment:s; display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:start; line-height:1.5; font-size:15.5px; }
.qp .box li::before{ content:counter(s); display:grid; place-items:center; width:34px; height:34px; background:var(--gold); color:var(--ink); font-family:var(--display); font-size:20px; }
.qp .box.light{ background:var(--card); color:var(--ink); box-shadow:8px 8px 0 var(--gold); }
.qp .box.light h2{ text-shadow:3px 3px 0 var(--gold); }
.qp .box.light ul{ margin:0; padding-left:18px; display:grid; gap:8px; line-height:1.5; font-size:15.5px; }
.qp .todo{ background:#FFF1A8; padding:0 4px; font-family:var(--label); letter-spacing:.04em; }
.qp footer{ background:var(--navy); border-top:6px solid var(--red); color:#F2E6C6; padding:40px clamp(20px,5vw,72px); display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:14px; }
.qp footer b{ font-family:var(--display); font-weight:400; font-size:28px; letter-spacing:.12em; color:var(--gold); }
@media (max-width:900px){
  .qp .wrap{ grid-template-columns:minmax(0,1fr); margin-top:-20px; }
  .qp aside{ position:static; }
  .qp .row, .qp .grid2{ grid-template-columns:minmax(0,1fr); }
}
.qp{ --card:#F2E6C6; --ink:#13243C; --lead:#4B4A63; --line:rgba(19,36,60,.30); --red:#C23B2B; --navy:#13243C; --gold:#F6D77C; --display:"Anton","Oswald",Impact,sans-serif; --label:"Oswald","Arial Narrow",sans-serif; --body:"IBM Plex Sans","Helvetica Neue",Helvetica,Arial,sans-serif; color:var(--ink); font-family:var(--body); }
.qp .wrap{ margin-top:34px; }
.qp .pagehead{ margin:0; } .qp .pagehead .k{ font-family:var(--label); font-weight:600; font-size:14px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-bottom:4px; } .qp .pagehead p{ margin:10px 0 0; font-family:var(--label); font-size:16px; letter-spacing:.12em; text-transform:uppercase; color:#F2E6C6; }
.qp fieldset{ box-shadow:6px 6px 0 var(--ink); } .qp legend{ background:var(--ink); }
.qp .box{ box-shadow:6px 6px 0 var(--red); }
