*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#F2EAE0;--cream-d:#E6DDD0;--cream-l:#FAF6F1;
  --noir:#14100C;--charbon:#3C3835;
  --bdx:#6E1828;--bdx-d:#521220;
  --or:#C4A44A;
  --gris:#8A8278;--gris-l:#C0BBB5;
  --green:#2D6A4F;
  --fd:'Cormorant Garamond',Georgia,serif;
  --fb:'DM Sans',system-ui,sans-serif;
  --e:.3s ease;
}
body{font-family:var(--fb);background:var(--cream-l);color:var(--noir);line-height:1.7;min-height:100vh;display:flex;flex-direction:column}
nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 4rem;background:rgba(250,246,241,.97);box-shadow:0 1px 0 rgba(196,164,74,.2);position:relative;z-index:2}
.nl{display:flex;align-items:center;gap:1.25rem;text-decoration:none}
.nav-logo-mark{height:42px;width:auto;display:block}
.nav-logo-text{height:20px;width:auto;display:block}
.back-link{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);text-decoration:none}
.back-link:hover{color:var(--charbon)}

main{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:5rem 2rem}
.nl-visual{position:absolute;inset:0 0 auto 0;height:62%;overflow:hidden}
.nl-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;display:block}
.nl-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,12,.15) 0%,rgba(250,246,241,0) 55%,var(--cream-l) 97%)}

.card{position:relative;max-width:620px;width:100%;background:#fff;border:1px solid var(--cream-d);padding:3.5rem 3.5rem 3rem;box-shadow:0 18px 50px rgba(20,16,12,.08)}
.eyebrow{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--or);margin-bottom:.8rem;text-align:center}
h1{font-family:var(--fd);font-size:2.6rem;font-weight:300;color:var(--charbon);margin-bottom:1.2rem;line-height:1.15;text-align:center}
h1 em{font-style:italic;color:var(--bdx)}
.lead{font-size:.95rem;color:var(--charbon);margin-bottom:2rem;line-height:1.75;text-align:center}

.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.form-group label{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.form-group input{font-family:var(--fb);font-size:1rem;color:var(--charbon);background:var(--cream-l);border:1px solid var(--cream-d);padding:.75rem 1rem;outline:none;border-radius:0;transition:border-color var(--e),box-shadow var(--e)}
.form-group input::placeholder{color:#736B62}
.form-group input:focus{border-color:var(--bdx);box-shadow:0 0 0 3px rgba(110,24,40,.12)}
.form-group input[aria-invalid="true"]{border-color:var(--bdx)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.84rem;color:var(--charbon);line-height:1.55;margin:.4rem 0 1.2rem;cursor:pointer}
.consent input{margin-top:.2rem;width:16px;height:16px;flex-shrink:0;accent-color:var(--bdx)}

.status{font-size:.84rem;color:var(--bdx);min-height:1.3em;margin-bottom:.8rem}
.status:empty{margin:0;min-height:0}

.btn-p{font-family:var(--fb);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-l);background:var(--bdx);border:0;padding:1rem 2.2rem;text-decoration:none;display:inline-block;cursor:pointer;transition:background var(--e)}
form .btn-p{width:100%}
.btn-p:hover{background:var(--bdx-d)}
.btn-p:disabled{opacity:.6;cursor:wait}
.btn-o{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--charbon);background:transparent;border:1px solid var(--cream-d);padding:.95rem 2.2rem;text-decoration:none;display:inline-block;transition:border-color var(--e)}
.btn-o:hover{border-color:var(--bdx)}
.form-note{font-size:.72rem;color:var(--gris);line-height:1.6;margin-top:1.2rem;text-align:center}
.form-note a{color:var(--bdx)}

.done{text-align:center}
.icon-wrap{width:72px;height:72px;border-radius:50%;background:rgba(45,106,79,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 1.6rem}
.icon-wrap svg{stroke:var(--green);stroke-width:2.5;width:36px;height:36px}
.done h2{font-family:var(--fd);font-size:2rem;font-weight:300;color:var(--charbon);margin-bottom:1rem}
.cta-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

@media(max-width:640px){
  nav{padding:1rem 1.5rem}
  main{padding:3rem 1rem}
  .nl-visual{height:46%}
  .card{padding:2.4rem 1.4rem 2rem}
  h1{font-size:2rem}
  .form-row{grid-template-columns:1fr;gap:0}
}
