/* Pass the Salt — waitlist site. Matches PTS Branding waitlist mockup v3. */
@font-face{font-family:Fraunces;src:url(/fonts/fraunces.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/fonts/dmsans.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --cream:#FAF8F4;--pine:#0F5C47;--pine-hover:#0B4A39;--teal:#1D9E75;--mint:#F1F7F4;
  --mint-border:rgba(29,158,117,.25);--ink:#1A1A1A;--field-border:#879C92;--placeholder:#69766E;--field-bg:#FFFEFC;
  --error:#8B4A2B;--error-border:#A15C3A;--error-wash:#F8F1EB
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.page{width:100%;max-width:440px;min-height:100vh;min-height:100dvh;margin:0 auto;display:flex;flex-direction:column}
.center{flex:1;display:flex;flex-direction:column}
header{margin:0 30px;padding:38px 0 29px;text-align:center;border-bottom:3px solid var(--teal)}
header a{display:block;width:max-content;margin:0 auto;border-radius:4px}
header a:focus-visible{outline:2px solid var(--pine);outline-offset:4px}
.logo{display:block;width:214px;height:auto;margin:0 auto}
main{padding:37px 30px 0;flex:1}
h1{font-family:Fraunces,serif;font-size:42px;line-height:1.08;letter-spacing:-1.35px;font-weight:500;font-optical-sizing:none;font-variation-settings:"opsz" 9,"SOFT" 0,"WONK" 1;margin:0;color:var(--pine)}
.intro{font-size:16px;line-height:1.55;color:var(--pine);margin:17px 0 0}
form{margin:28px 0 0}
.field{margin:0}
.field + .field{margin-top:18px}
.opt{font-weight:400;color:var(--pine);opacity:.75}
label{display:block;font-size:14px;line-height:20px;font-weight:600;color:var(--pine);margin-bottom:7px}
.row{display:block}
input{appearance:none;-webkit-appearance:none;font:400 16px/1.4 "DM Sans",sans-serif;color:var(--ink);width:100%;height:54px;border:1px solid var(--field-border);border-radius:7px;background:var(--field-bg);padding:12px 14px;box-shadow:0 1px 0 #0F5C4703}
input::placeholder{color:var(--placeholder);opacity:1}
input:focus{outline:2px solid var(--pine);outline-offset:3px}
form.is-invalid #email{border-color:var(--error-border);background:var(--error-wash)}
form.is-invalid #email:focus{outline-color:var(--error)}
.error{display:none;margin:8px 0 0;font-size:14px;line-height:1.45;color:var(--error);font-weight:500}
.error:not(:empty){display:block}
button{display:block;width:100%;border:0;border-radius:7px;min-height:54px;margin-top:16px;background:var(--pine);color:var(--cream);font:600 16px/1.4 "DM Sans",sans-serif;letter-spacing:.05px;cursor:pointer;white-space:nowrap}
button:hover{background:var(--pine-hover)}
button:focus-visible{outline:2px solid var(--pine);outline-offset:4px}
button:disabled{opacity:.6;cursor:default}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
footer{text-align:center;font-size:12px;line-height:18px;color:var(--pine);padding:35px 0 26px;letter-spacing:.25px}
.thanks{display:none;margin-top:36px;background:var(--mint);border:1px solid var(--mint-border);border-radius:10px;padding:28px 24px 29px;color:var(--pine)}
.thanks:focus{outline:none}
.check{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#E0EFE7;margin-bottom:21px}
.thanks h2{font-family:Fraunces,serif;font-optical-sizing:none;font-variation-settings:"opsz" 9,"SOFT" 0,"WONK" 1;font-size:28px;line-height:1.2;font-weight:500;letter-spacing:-.45px;margin:0 0 13px}
.thanks p{font-size:17px;line-height:1.6;margin:0;max-width:280px}
.thanks a,.home-link a{color:var(--pine);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.home-link{font-size:16px;line-height:1.55;color:var(--pine);margin:28px 0 0}
body[data-state="thanks"] form{display:none}
body[data-state="thanks"] .thanks,.thanks.is-static{display:block}
@media (max-width:350px){header{margin:0 24px}main{padding-left:24px;padding-right:24px}h1{font-size:36px}}
@media (min-width:800px){
  .page{max-width:none}
  .center{justify-content:center;padding:24px 0 12px}
  header{width:100%;max-width:580px;margin:0 auto;padding:0 0 32px}
  .logo{width:252px}
  main{width:100%;max-width:580px;margin:0 auto;padding:40px 0 0;flex:0 0 auto}
  h1{font-size:56px;letter-spacing:-1.7px;line-height:1.06}
  .intro{font-size:18px;line-height:1.5;margin-top:20px}
  form{margin-top:32px}
  .row{display:flex;align-items:stretch;gap:12px}
  .row input{flex:1 1 auto;min-width:0}
  .row button{width:auto;margin-top:0;padding:0 28px;flex:0 0 auto}
  footer{padding:28px 0 32px;font-size:13px}
  .thanks{margin-top:40px;padding:32px 28px 33px}
  .thanks h2{font-size:32px}
  .thanks p{font-size:18px;max-width:none}
  .home-link{font-size:18px}
}
