@font-face{
  font-family:"Inter";
  src:url(/assets/inter-var.woff2) format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
:root{ color-scheme:dark; }
*{ box-sizing:border-box; }
html,body{
  margin:0;
  padding:0;
  min-height:100%;
  background:#0A0A0A;
  color:#fff;
  font-family:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body{
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
.skip{
  position:absolute;
  left:-999px;
  top:0;
}
.skip:focus{
  left:16px;
  top:16px;
  z-index:10;
  background:#fff;
  color:#000;
  padding:8px 12px;
  text-decoration:none;
}
.page{
  width:100%;
  max-width:36rem;
  margin:0 auto;
  padding:max(28px, env(safe-area-inset-top)) 24px max(40px, env(safe-area-inset-bottom));
  flex:1 1 auto;
}
.brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-decoration:none;
  color:#fff;
}
.brand img{
  width:168px;
  height:auto;
  display:block;
}
.brand span{
  font-size:13px;
  font-weight:700;
  letter-spacing:.42em;
  color:#fff;
  margin-top:8px;
}
h1{
  margin:32px 0 0;
  font-weight:600;
  font-size:clamp(24px, 4.8vw, 36px);
  letter-spacing:-.038em;
  line-height:1.18;
  color:#fff;
  text-align:center;
  text-wrap:balance;
}
.sub{
  margin:16px auto 0;
  max-width:32rem;
  font-size:clamp(15px, 2.1vw, 17px);
  font-weight:450;
  letter-spacing:-.016em;
  line-height:1.45;
  color:rgba(255,255,255,.88);
  text-align:center;
  text-wrap:pretty;
}
.form{
  margin:32px 0 0;
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
@media (min-width:640px){
  .form{ grid-template-columns:1fr 1fr; gap:18px 16px; }
  .full{ grid-column:1 / -1; }
}
.field label,
.chk label{
  display:block;
  margin:0 0 6px;
  font-size:13px;
  font-weight:500;
  letter-spacing:-.01em;
  color:rgba(255,255,255,.82);
}
.req{ color:rgba(255,255,255,.45); }
.opt{
  font-weight:450;
  color:rgba(255,255,255,.45);
}
input[type="text"],
input[type="email"],
input[type="tel"],
select{
  width:100%;
  height:46px;
  padding:0 12px;
  background:#111;
  border:1px solid rgba(255,255,255,.22);
  border-radius:2px;
  color:#fff;
  font:450 16px/1.2 "Inter",ui-sans-serif,system-ui,sans-serif;
  outline:none;
  appearance:none;
  -webkit-appearance:none;
}
select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%23ffffff' stroke-opacity='.7' stroke-width='1.4' d='M1.5 1.5L6 6 10.5 1.5'/></svg>");
  background-repeat:no-repeat;
  background-position:right 12px center;
  padding-right:32px;
}
input:focus,
select:focus{
  border-color:#ED1E2D;
}
.chk{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.chk input{
  margin:3px 0 0;
  width:16px;
  height:16px;
  accent-color:#ED1E2D;
  flex:0 0 auto;
}
.chk label{
  margin:0;
  line-height:1.4;
}
.hp{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}
.actions{ margin-top:8px; }
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:48px;
  padding:0 1.25rem;
  background:#ED1E2D;
  color:#fff;
  font:600 15px/1 "Inter",ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.01em;
  text-decoration:none;
  border:0;
  border-radius:2px;
  cursor:pointer;
}
.btn:hover{ background:#CF1724; }
.btn:focus-visible,
.apply-btn:focus-visible,
a:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}
.btn[disabled]{ opacity:.65; cursor:progress; }
.status{
  margin:12px 0 0;
  min-height:1.2em;
  font-size:14px;
  color:rgba(255,255,255,.75);
}
.status[data-kind="err"]{ color:#ffb3b8; }
.thanks{
  margin:40px 0 0;
  text-align:center;
}
.thanks p{
  margin:0;
  font-size:clamp(16px, 2.2vw, 18px);
  font-weight:500;
  letter-spacing:-.016em;
  line-height:1.45;
  color:rgba(255,255,255,.92);
  text-wrap:pretty;
}
.fine{
  margin:22px 0 0;
  font-size:12.5px;
  line-height:1.55;
  color:rgba(255,255,255,.5);
  text-align:center;
}
.thanks a,.fine a{ color:#fff; text-underline-offset:3px; white-space:nowrap; }
[hidden]{ display:none !important; }
@media (min-width:800px){
  .brand img{ width:184px; }
  .page{ padding-top:max(40px, env(safe-area-inset-top)); }
}
