
:root{
  --bg:#070707;
  --panel:#0d0d0d;
  --text:#e9e5dc;
  --muted:#a9a59d;
  --faint:#74716b;
  --line:#2a2927;
  --line2:#3a3834;
  --accent:#d8d2c5;
  --danger:#c7b5ad;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}
body{font-family:Arial,Helvetica,sans-serif}
a{color:inherit}
.shell{
  width:min(100%,820px);
  min-height:100vh;
  margin:0 auto;
  padding:42px 30px 34px;
}
.center{text-align:center}
.mark{
  width:min(78vw,430px);
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  margin:0 auto 38px;
  filter:grayscale(100%);
}
h1,h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  letter-spacing:.01em;
}
h1{font-size:clamp(29px,5vw,42px);margin:0}
h2{font-size:clamp(25px,4vw,34px);margin:0 0 10px}
.lede{
  max-width:570px;
  margin:24px auto 0;
  color:var(--muted);
  font-size:clamp(17px,2.5vw,20px);
  line-height:1.65;
}
.rule{border:0;border-top:1px solid var(--line);margin:42px 0 34px}
.primary,.secondary{
  display:block;
  width:min(100%,390px);
  min-height:58px;
  margin:0 auto;
  padding:17px 18px;
  border:1px solid var(--accent);
  background:transparent;
  color:var(--text);
  text-decoration:none;
  text-align:center;
  font-size:16px;
  letter-spacing:.2em;
  cursor:pointer;
}
.primary:hover{background:#111}
.secondary{border-color:var(--line2);letter-spacing:.08em;color:var(--muted)}
.timing{margin-top:22px;color:var(--muted);font-size:14px;line-height:1.6;text-align:center}
.footer{
  margin-top:70px;
  text-align:center;
  color:var(--faint);
  font-size:11px;
  letter-spacing:.12em;
}
.back{
  display:inline-block;
  color:var(--muted);
  text-decoration:none;
  margin-bottom:30px;
  font-size:14px;
}
.intro{
  margin:0 0 28px;
  color:var(--muted);
  font-size:16px;
  line-height:1.55;
}
.field{margin:0 0 22px}
label{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  font-size:13px;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--accent);
}
.count{color:var(--faint);letter-spacing:0;text-transform:none}
input,textarea,select{
  width:100%;
  border:1px solid var(--line2);
  border-radius:0;
  background:var(--panel);
  color:var(--text);
  padding:14px 15px;
  font:inherit;
  font-size:16px;
  outline:none;
}
input:focus,textarea:focus,select:focus{border-color:#77736b}
textarea{min-height:160px;resize:vertical;line-height:1.5}
.help{margin-top:7px;color:var(--faint);font-size:14px;line-height:1.45}
.options{display:grid;gap:7px}
.option{
  border:1px solid var(--line2);
  background:var(--panel);
  padding:11px 13px;
}
.option label{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  gap:10px;
  margin:0;
  font-size:15px;
  letter-spacing:0;
  text-transform:none;
  color:var(--text);
}
.option small{display:block;color:var(--muted);margin-top:3px;line-height:1.35;font-size:13px}
.checkbox{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:var(--muted);
  line-height:1.45;
  margin:12px 0;
}
.checkbox input{width:auto;margin-top:3px}
.actions{margin-top:36px;display:grid;gap:12px}
.error{display:none;margin:16px 0;color:#d9aaa0;font-size:14px}
.review-block{
  border-top:1px solid var(--line);
  padding:22px 0;
}
.review-kicker{
  color:var(--faint);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
  margin-bottom:8px;
}
.review-value{white-space:pre-wrap;line-height:1.6}
.notice{
  border:1px solid var(--line2);
  padding:16px;
  color:var(--muted);
  line-height:1.55;
  margin:26px 0;
}
.disabled{
  opacity:.45;
  cursor:not-allowed;
}
@media(max-width:520px){
  .shell{padding:30px 20px 30px}
  .mark{width:88vw;margin-bottom:30px}
  .rule{margin-top:34px}
}

.option input[type="radio"]{
  width:auto;
  flex:0 0 auto;
  margin:2px 0 0;
  padding:0;
}
.checkbox{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  gap:10px;
  color:var(--muted);
  line-height:1.4;
  margin:9px 0;
  font-size:14px;
  text-transform:none;
  letter-spacing:0;
}
.checkbox input{
  width:auto;
  flex:0 0 auto;
  margin:2px 0 0;
  padding:0;
}
.actions{
  margin-top:30px;
  display:grid;
  gap:10px;
}
@media(max-width:520px){
  .shell{padding:28px 18px 26px}
  .intro{font-size:15px}
  label{font-size:12px}
  input,textarea,select{font-size:16px}
}

.price-block{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:20px 0;
  margin:4px 0 24px;
}
.price{
  font-family:Georgia,"Times New Roman",serif;
  font-size:34px;
  line-height:1;
}
.price-note{
  color:var(--muted);
  font-size:14px;
  text-align:right;
}
.acknowledgements{
  margin:8px 0 24px;
}
.acknowledgements .checkbox{
  padding:9px 0;
  margin:0;
  border-bottom:1px solid #1d1d1d;
}
.notice strong{color:var(--text);font-weight:400}
@media(max-width:520px){
  .price-block{align-items:flex-start;flex-direction:column}
  .price-note{text-align:left}
}
