/* Human Truth — teaser site */
@font-face{font-family:"Hanken Grotesk";src:url("/fonts/hanken-grotesk-latin-300-normal.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("/fonts/hanken-grotesk-latin-300-italic.woff2") format("woff2");font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("/fonts/hanken-grotesk-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url("/fonts/hanken-grotesk-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("/fonts/space-grotesk-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --ground:#F4EFE7;   /* page background */
  --surface:#FBF8F3;  /* header, inputs */
  --ink:#2A2724;      /* text, button — the only dark color */
  --body:#5F584F;     /* secondary text */
  --muted:#6E675F;    /* small labels */
  --word:#8A7B6B;     /* rotating expression */
  --line:#D8CFC2;
  --line-soft:#E2DACE;
  --field:#C9BEAF;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:"Hanken Grotesk",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--body)}a:hover{color:var(--ink)}
.m-br{display:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--word);outline-offset:3px}

.page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}

/* Header with the circular dip */
.hdr{position:relative;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:var(--surface);border-bottom:1px solid var(--line);z-index:2}
.hdr__name{font-size:13px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.hdr__dip{position:absolute;left:50%;top:22px;width:84px;height:84px;margin-left:-42px;border-radius:50%;background:var(--surface);border:1px solid transparent;border-bottom-color:var(--line);border-left-color:var(--line);transform:rotate(-45deg)}
.hdr__logo{position:absolute;left:50%;top:36px;width:56px;height:56px;margin-left:-28px;display:flex;align-items:center;justify-content:center}
.hdr__logo img{width:38px;height:auto;display:block}
.hdr__tag{text-align:right;display:flex;flex-direction:column;gap:3px}
.hdr__line{font-size:13px;font-weight:300;font-style:italic;letter-spacing:.04em}
.hdr__sig{font-size:10px;font-weight:500;letter-spacing:.4em;color:var(--muted)}

/* Hero */
.hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:140px 24px 96px;text-align:center;gap:40px}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:var(--muted)}
.title{margin:0;font-weight:300;font-size:clamp(44px,7vw,104px);line-height:1.05;letter-spacing:-.01em}
.slot{display:inline-block;min-width:4.6em;text-align:right}
.word{display:inline-block;font-style:italic;color:var(--word);border-bottom:1px solid var(--field);padding-bottom:4px;transition:opacity .45s ease}
.word.is-out{opacity:0}
.lede{margin:0;max-width:34ch;font-size:19px;font-weight:300;line-height:1.55;color:var(--body)}

/* Signup */
.form-wrap{width:100%;display:flex;flex-direction:column;align-items:center;gap:14px}
.signup{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%;max-width:480px}
.signup input[type=email]{flex:1 1 260px;min-width:0;height:52px;padding:0 20px;border:1px solid var(--field);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px}
.signup input[type=email]:focus{outline:2px solid var(--word);outline-offset:2px}
.signup button{height:52px;padding:0 28px;border:none;border-radius:999px;background:var(--ink);color:var(--surface);font:inherit;font-size:14px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.signup button[disabled]{opacity:.6;cursor:default}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.note{font-size:13px;color:var(--muted);min-height:1.4em}
.note.is-error{color:#8A3B2E}
.done{font-size:19px;font-weight:300;font-style:italic}

/* Footer */
.ftr{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:28px 40px;border-top:1px solid var(--line-soft);font-size:13px;color:var(--muted)}
.ftr nav{display:flex;flex-wrap:wrap;gap:28px}

/* Long-form pages (privacy) */
.doc{flex:1;width:100%;max-width:640px;margin:0 auto;padding:120px 24px 80px;line-height:1.65;font-size:16px;color:var(--body)}
.doc h1{font-weight:300;font-size:36px;color:var(--ink);margin:0 0 8px}
.doc h2{font-weight:500;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:40px 0 8px}
.doc .meta{font-size:13px;color:var(--muted);margin:0 0 32px}

/* Phone */
@media (max-width:640px){
  .m-br{display:inline}
  .hdr{height:56px;padding:0 18px}
  .hdr__name{font-size:10px;letter-spacing:.26em;line-height:1.4}
  .hdr__dip{top:24px;width:64px;height:64px;margin-left:-32px}
  .hdr__logo{top:35px;width:42px;height:42px;margin-left:-21px}
  .hdr__logo img{width:28px}
  .hdr__line{font-size:10px;line-height:1.4}
  .hdr__sig{display:none}
  .hero{padding:72px 24px 32px;gap:28px}
  .eyebrow{font-size:11px;letter-spacing:.4em}
  .title{font-size:48px;line-height:1.1;display:flex;flex-direction:column;align-items:center;gap:6px}
  .slot{min-width:0;text-align:center}
  .lede{font-size:17px;max-width:26ch}
  .signup{flex-direction:column;gap:10px}
  .signup input[type=email]{flex:none;width:100%}
  .signup button{font-size:13px}
  .note{font-size:12px}
  .ftr{flex-direction:column;justify-content:center;padding:20px 18px 28px;gap:10px;font-size:12px}
  .ftr nav{gap:22px;justify-content:center}
  .ftr nav a{padding:8px 0}
  .ftr__copy{order:2}
  .doc{padding:72px 20px 56px}
}

@media (prefers-reduced-motion:reduce){.word{transition:none}}
