/* ============================================================
   MarC AI — Auth / sign-up module (shared: landing + dashboard gate)
   ============================================================ */
/* ── hard gate: on [data-require-auth] pages, nothing renders until unlocked ── */
body[data-require-auth]{background:#0F1411;}
body[data-require-auth]:not(.marc-unlocked) > *:not(.marc-auth-scrim){visibility:hidden !important;}

.marc-auth-scrim{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(10,10,14,0.66);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:1;font-family:"Jost","Hanken Grotesk",system-ui,sans-serif;}
.marc-auth-card{width:min(560px,100%);max-height:90vh;overflow-y:auto;background:#fff;color:#15130F;
  border-radius:18px;box-shadow:0 40px 100px -30px rgba(0,0,0,0.6);padding:34px 34px 30px;
  transform:translateY(14px) scale(0.99);transition:transform .3s cubic-bezier(.16,.7,.2,1);}
.marc-auth-scrim.show .marc-auth-card{transform:none;}
.marc-auth-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:6px;}
.marc-auth-chip{width:38px;height:38px;flex:none;border-radius:9px;background:#EDEFE4;padding:7px;display:grid;place-items:center;}
.marc-auth-chip svg{width:100%;height:100%;}
.marc-auth-x{border:0;background:none;font-size:20px;line-height:1;color:#9a948a;cursor:pointer;padding:4px;}
.marc-auth-x:hover{color:#15130F;}
.marc-auth-eyebrow{font-family:"Spline Sans Mono",ui-monospace,monospace;font-size:11px;letter-spacing:0.2em;
  text-transform:uppercase;color:#8A8377;margin:14px 0 8px;}
.marc-auth-title{font-family:"Cormorant Garamond","Newsreader",Georgia,serif;font-weight:400;font-size:34px;
  line-height:1.05;letter-spacing:-0.01em;margin-bottom:6px;}
.marc-auth-title em{font-style:italic;color:#6E7F73;}
.marc-auth-sub{color:#6b655c;font-size:14.5px;line-height:1.55;margin-bottom:22px;}

.marc-socials{display:flex;flex-direction:column;gap:10px;}
.marc-google{width:100%;height:50px;border:1px solid #e2ddd2;border-radius:10px;background:#fff;
  display:flex;align-items:center;justify-content:center;gap:11px;font-size:15px;font-weight:500;color:#15130F;
  cursor:pointer;transition:background .2s,border-color .2s;}
.marc-google:hover{background:#faf8f3;border-color:#d3cbbb;}
.marc-or{display:flex;align-items:center;gap:14px;margin:18px 0;color:#a8a298;font-size:12px;
  letter-spacing:0.08em;text-transform:uppercase;}
.marc-or::before,.marc-or::after{content:"";flex:1;height:1px;background:#ece7dc;}

.marc-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.marc-field{display:flex;flex-direction:column;gap:6px;}
.marc-field.full{grid-column:1 / -1;}
.marc-field label{font-size:12px;font-weight:500;color:#6b655c;letter-spacing:0.01em;}
.marc-field input,.marc-field select,.marc-field textarea{height:46px;border:1px solid #e2ddd2;border-radius:10px;
  background:#faf8f3;padding:0 14px;font-family:inherit;font-size:14.5px;color:#15130F;outline:none;
  transition:border-color .2s,background .2s;}
.marc-field textarea{height:auto;min-height:78px;padding:12px 14px;resize:vertical;line-height:1.5;}
.marc-field input:focus,.marc-field select:focus,.marc-field textarea:focus{border-color:#6E7F73;background:#fff;}
.marc-field .err{color:#c0392b;font-size:11.5px;display:none;}
.marc-field.invalid input{border-color:#c0392b;}
.marc-field.invalid .err{display:block;}

.marc-submit{grid-column:1 / -1;height:52px;border:0;border-radius:10px;background:#6E7F73;color:#F7F5EF;
  font-family:inherit;font-size:15px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;
  justify-content:center;gap:9px;transition:background .2s;margin-top:4px;}
.marc-submit:hover{background:#5E6E63;}
.marc-fine{grid-column:1 / -1;font-size:12px;color:#a8a298;line-height:1.5;text-align:center;margin-top:10px;}
.marc-note{grid-column:1 / -1;font-size:12.5px;color:#6E7F73;text-align:center;display:none;}

/* thank-you */
.marc-thanks{text-align:center;padding:10px 0 6px;}
.marc-thanks .tick{width:64px;height:64px;border-radius:50%;margin:0 auto 22px;display:grid;place-items:center;
  background:#6E7F73;color:#fff;}
.marc-thanks h3{font-family:"Cormorant Garamond","Newsreader",Georgia,serif;font-weight:400;font-size:34px;
  margin-bottom:10px;}
.marc-thanks p{color:#6b655c;font-size:15px;line-height:1.6;max-width:38ch;margin:0 auto 24px;}
.marc-thanks .enter{height:52px;padding:0 30px;border:0;border-radius:10px;background:#6E7F73;color:#F7F5EF;
  font-family:inherit;font-size:15px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:9px;}
.marc-thanks .enter:hover{background:#5E6E63;}

@media (max-width:520px){
  .marc-auth-card{padding:24px 22px;}
  .marc-form{grid-template-columns:1fr;}
  .marc-auth-title{font-size:28px;}
}
