:root{
  --mc-bg:#07110e;
  --mc-bg-2:#0c1814;
  --mc-gold:#d5a545;
  --mc-gold-light:#f1cf7a;
  --mc-cream:#f4efe5;
  --mc-ink:#18211d;
  --mc-line:rgba(213,165,69,.7);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  background:
    radial-gradient(circle at 90% 18%,rgba(213,165,69,.08),transparent 26%),
    radial-gradient(circle at 10% 82%,rgba(213,165,69,.08),transparent 24%),
    linear-gradient(160deg,var(--mc-bg),var(--mc-bg-2) 60%,#050b09);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.25;
  background-image:
    repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 4px),
    radial-gradient(circle at 30% 30%,rgba(255,255,255,.03),transparent 35%);
}
.page-shell{
  width:min(960px,calc(100% - 28px));
  max-width:none;
  margin:18px auto;
  padding:32px clamp(18px,4vw,56px) 28px;
  border:1px solid var(--mc-gold);
  box-shadow:0 0 0 4px rgba(213,165,69,.08),0 22px 70px rgba(0,0,0,.35);
  background:rgba(4,12,9,.46);
  backdrop-filter:blur(2px);
}
.page-shell::before{
  content:"";
  position:absolute;
  inset:9px;
  border:1px solid rgba(213,165,69,.32);
  pointer-events:none;
}
.brand-logo{
  display:block;
  width:min(420px,80%);
  margin:0 auto 24px;
}
h1,h2,.section-title,.success-panel h3{
  margin:0;
  color:var(--mc-gold-light);
  font-family:Georgia,"Times New Roman",serif;
  font-weight:700;
  letter-spacing:-.02em;
}
h1{
  text-align:center;
  font-size:clamp(2.2rem,7vw,4.2rem);
  line-height:1.05;
  white-space:nowrap;
}
h2{
  text-align:center;
  font-size:clamp(2rem,5vw,3.2rem);
  line-height:1.1;
}
.intro-copy{
  max-width:760px;
  margin:20px auto 30px;
  color:#f4f4f1;
  text-align:center;
  font-size:clamp(1rem,2.2vw,1.22rem);
  line-height:1.55;
}
.intro-copy strong{
  display:block;
  margin-bottom:4px;
  font-size:1.12em;
}
.ornament-divider{
  position:relative;
  width:min(520px,78%);
  height:1px;
  margin:0 auto 28px;
  background:linear-gradient(90deg,transparent,var(--mc-gold),transparent);
}
.ornament-divider span::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:9px;
  height:9px;
  transform:translate(-50%,-50%) rotate(45deg);
  background:var(--mc-gold-light);
  box-shadow:0 0 0 8px var(--mc-bg-2);
}
.subhead{
  margin:10px auto 22px;
  color:#f2f1ed;
  text-align:center;
  font-size:clamp(.96rem,2vw,1.1rem);
}
.form-alert{
  max-width:760px;
  margin:0 auto 20px;
}
form{
  max-width:760px;
  margin:0 auto;
}
.form-card{
  overflow:hidden;
  color:var(--mc-ink);
  background:var(--mc-cream);
  border-radius:4px;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}
.field-cell{
  position:relative;
  border-right:1px solid #c8c1b5;
  border-bottom:2px solid #d8d1c5;
  background:#f9f6ef;
}
.row > .field-cell:last-child{border-right:0}
.landing-field{
  min-height:62px;
  padding:18px 20px;
  color:#1f2a25;
  font-size:1rem;
  background:#f9f6ef;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.landing-field:focus{
  position:relative;
  z-index:2;
  color:#1f2a25;
  background:#fffdf8;
  border:0;
  box-shadow:inset 0 0 0 2px rgba(213,165,69,.7);
}
.landing-field::placeholder{color:#626b66;opacity:1}
.field-cell .invalid-feedback{padding:0 20px 10px}
.help-section{
  padding:18px 20px 14px;
  background:#f9f6ef;
}
.section-title{
  margin-bottom:12px;
  color:#8f641f;
  font-size:clamp(1.25rem,3vw,1.65rem);
}
.option-tile{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:49px;
  width:100%;
  padding:12px 14px;
  border:1px solid #c9c0b1;
  border-radius:3px;
  background:#fffdf8;
  cursor:pointer;
  font-size:.98rem;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.option-tile:hover{border-color:#9b6d1f;background:#fffaf0}
.option-tile:has(input:focus-visible){box-shadow:0 0 0 .25rem rgba(213,165,69,.25)}
.option-tile:has(input:checked){border-color:#9b6d1f;background:#fff8e8}
.option-tile .form-check-input,.consent-wrap .form-check-input{
  width:19px;
  height:19px;
  margin:0;
  border-color:#9b9182;
  accent-color:#9b6d1f;
}
.option-tile .form-check-input:checked,.consent-wrap .form-check-input:checked{
  background-color:#9b6d1f;
  border-color:#9b6d1f;
}
.option-tile .form-check-input:focus,.consent-wrap .form-check-input:focus{
  border-color:#9b6d1f;
  box-shadow:0 0 0 .25rem rgba(213,165,69,.25);
}
.consent-wrap{
  padding:16px 20px 20px;
  background:#f9f6ef;
  font-size:.92rem;
  line-height:1.4;
}
.consent-wrap .invalid-feedback{margin-left:-27px;padding-top:9px}
.submit-button{
  display:block;
  width:min(620px,88%);
  min-height:68px;
  margin:24px auto 14px;
  padding:18px 22px;
  color:#172019;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.35rem,4vw,2rem);
  letter-spacing:.05em;
  border:1px solid #f5d986;
  border-radius:5px;
  background:linear-gradient(180deg,#f0c969 0%,#d4a242 48%,#b98225 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 9px 20px rgba(0,0,0,.28);
  cursor:pointer;
  transition:filter .18s ease,transform .18s ease;
}
.submit-button:hover{filter:brightness(1.06);transform:translateY(-1px)}
.submit-button:focus-visible{outline:3px solid #fff;outline-offset:4px}
.submit-button:disabled{cursor:wait;filter:saturate(.7);transform:none}
.trust-copy{
  margin:0 auto;
  color:#fff;
  text-align:center;
  font-size:.96rem;
  line-height:1.5;
}
.success-panel{
  max-width:760px;
  margin:24px auto 0;
  padding:32px;
  text-align:center;
  border:1px solid var(--mc-gold);
  background:rgba(255,255,255,.05);
}
.success-panel h3{margin-bottom:8px;font-size:2rem}
.success-panel p{margin:0}
.hp-field{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

@media (max-width:767.98px){
  .row > .field-cell{border-right:0}
}
@media (max-width:640px){
  .page-shell{width:calc(100% - 14px);margin:7px auto;padding:24px 12px}
  h1{font-size:clamp(1.82rem,9vw,2.4rem)}
  .brand-logo{width:min(330px,90%);margin-bottom:18px}
  .intro-copy{margin-top:15px}
  .landing-field{padding:16px}
  .field-cell .invalid-feedback{padding-left:16px;padding-right:16px}
  .help-section,.consent-wrap{padding-left:16px;padding-right:16px}
  .submit-button{width:94%}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto !important;transition:none !important}
}
