/* Newsletter signup — shared across all 8 pages, lives inside the dark (--deep)
   footer. Namespaced .nl-* so it never collides with contact.html's inline
   .enquiry-* form styles, which sit on the same page. Uses the site's existing
   design tokens (:root vars are defined identically on every page). */

.nl-signup{
  max-width:480px;
  margin:0 auto 2.4rem;
  padding-bottom:2.4rem;
  border-bottom:1px solid rgba(250,248,244,.1);
}
.nl-eyebrow{
  display:block;
  font-family:'Jost',sans-serif;
  font-size:.7rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--clay);
  margin-bottom:.7rem;
}
.nl-heading{
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem;
  font-weight:400;
  color:var(--cream);
  line-height:1.3;
  margin-bottom:.7rem;
}
.nl-note{
  font-family:'Jost',sans-serif;
  font-weight:300;
  font-size:.82rem;
  color:rgba(250,248,244,.5);
  line-height:1.7;
  max-width:400px;
  margin:0 auto 1.4rem;
}
.nl-form{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  justify-content:center;
  max-width:420px;
  margin:0 auto;
}
.nl-input{
  flex:1 1 200px;
  min-width:0;
  font-family:'Jost',sans-serif;
  font-weight:300;
  font-size:.9rem;
  color:var(--cream);
  background:rgba(250,248,244,.06);
  border:1px solid rgba(250,248,244,.22);
  border-radius:8px;
  padding:.7rem .95rem;
}
.nl-input::placeholder{color:rgba(250,248,244,.4);}
.nl-input:focus{outline:2px solid var(--clay);outline-offset:1px;border-color:transparent;}
.nl-btn{
  flex:0 0 auto;
  background:var(--clay);
  color:#fff;
  border:none;
  border-radius:2px;
  padding:.72rem 1.5rem;
  font-family:'Jost',sans-serif;
  font-size:.76rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .25s;
}
.nl-btn:hover{background:var(--terra);}
.nl-btn:disabled{opacity:.6;cursor:default;}
/* honeypot — off-screen; real visitors never see or fill it */
.nl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.nl-status{
  font-family:'Jost',sans-serif;
  font-size:.82rem;
  line-height:1.6;
  min-height:1.2em;
  margin:1rem auto 0;
  max-width:400px;
}
.nl-status.ok{color:#8fce9f;}
.nl-status.err{color:#e0a08c;}
.nl-fineprint{
  font-family:'Jost',sans-serif;
  font-weight:300;
  font-size:.72rem;
  color:rgba(250,248,244,.35);
  margin:.9rem auto 0;
  max-width:400px;
  line-height:1.6;
}

@media(max-width:480px){
  .nl-form{flex-direction:column;}
  .nl-btn{width:100%;padding:.8rem 1.5rem;}
}
