/* Marketing site and login pages. Loads after styles.css and reuses its tokens. */
.site{min-height:100vh;display:flex;flex-direction:column}
.site main{flex:1}
.site .brand{padding:0}
.site .brand-mark{width:32px;height:32px;border-radius:9px}
.site .brand-name{font-size:21px}

.site-nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;display:flex;align-items:center;gap:20px;padding:14px max(16px,calc((100vw - 1180px)/2));background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-links{display:flex;gap:4px;margin-left:12px}
.site-links a{color:var(--ink-2);text-decoration:none;font-weight:700;font-size:14.5px;padding:6px 10px;border-radius:8px}
.site-links a:hover{background:var(--surface-2);color:var(--ink)}
.site-auth{margin-left:auto;display:flex;gap:6px}

.s-hero{position:relative;max-width:1180px;margin:0 auto;padding:72px 16px 40px;display:flex;flex-direction:column;align-items:flex-start;gap:20px;overflow:hidden}
.s-hero::before{content:"";position:absolute;right:-220px;top:-160px;width:680px;height:680px;border-radius:50%;pointer-events:none;
  background:repeating-radial-gradient(circle,transparent 0 40px,color-mix(in srgb,var(--accent) 14%,transparent) 40px 41.5px);
  -webkit-mask:radial-gradient(circle,#000 25%,transparent 70%);mask:radial-gradient(circle,#000 25%,transparent 70%)}
.s-hero>*{position:relative}
.s-hero h1{font-size:clamp(2.7rem,7.2vw,5.6rem);font-weight:900;letter-spacing:-.04em;line-height:.98}
.s-hero h1 span{color:var(--accent)}
.s-hero .lede{font-size:clamp(1.02rem,1.6vw,1.2rem);color:var(--ink-2);max-width:62ch}
.s-hero .prompt{width:100%;max-width:820px}
.fine{font-size:13.5px;color:var(--muted);font-weight:600;margin-top:-8px}

.echo{width:100%;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:18px;align-items:center;margin-top:28px;padding:22px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}
.echo-in{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:var(--r-lg);background:var(--accent);color:var(--on-accent)}
.echo-in .eyebrow{color:var(--on-accent);opacity:.75}
.echo-in p{font-size:17px;font-weight:700;line-height:1.4}
.echo-out{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.echo-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--bg);min-width:0}
.echo-card header{display:flex;gap:8px;align-items:center}
.echo-card header b{font-size:14px;flex:1}
.echo-card header small{font-size:12px;color:var(--muted);font-weight:700}
.echo-card p{font-size:13.5px;color:var(--ink-2);line-height:1.5}
.echo-card .tag{color:var(--n-linkedin)}

.s-section{max-width:1180px;margin:0 auto;padding:64px 16px 24px;display:flex;flex-direction:column;gap:14px}
.s-section h2,.s-cta h2{font-size:clamp(1.8rem,3.6vw,2.8rem);font-weight:900;letter-spacing:-.03em;max-width:22ch}
.f-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:12px}
.f-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.f-card h3{font-size:17px}
.f-card p{font-size:14.5px;color:var(--ink-2)}
.f-wide{grid-column:span 2}
.f-full{grid-column:1/-1}
.s-section .flow{border-top:0;padding-top:8px}
.chips.big{gap:10px}
.chips.big .chip{font-size:15px;padding:7px 16px 7px 8px}

.s-cta{max-width:1180px;margin:64px auto 40px;padding:48px 24px;border-radius:var(--r-xl);background:var(--ink);color:var(--surface);display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;width:calc(100% - 32px)}
.s-cta h2{margin:0 auto}
.s-cta .eyebrow{color:color-mix(in srgb,var(--surface) 70%,transparent)}
.s-cta .btn:not(.primary){background:transparent;color:var(--surface);border-color:color-mix(in srgb,var(--surface) 40%,transparent)}

.site-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:20px max(16px,calc((100vw - 1180px)/2));border-top:1px solid var(--line);color:var(--muted);font-size:13.5px;font-weight:600}
.site-foot nav{display:flex;gap:16px;flex-wrap:wrap}
.site-foot a{color:var(--ink-2);text-decoration:none}
.site-foot a:hover{color:var(--accent)}

/* ---------- Login / sign up ---------- */
.auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh}
.auth-side{position:relative;overflow:hidden;background:var(--accent);color:var(--on-accent);padding:40px;display:flex;flex-direction:column;justify-content:space-between}
.auth-side .brand,.auth-side .brand-name{color:var(--on-accent)}
.auth-side .brand-mark{background:var(--on-accent);border-radius:9px}
.auth-quote{position:relative;display:flex;flex-direction:column;gap:12px;max-width:30ch}
.auth-quote .big{font-size:clamp(2rem,3.4vw,3rem);font-weight:900;line-height:1.02;letter-spacing:-.03em}
.auth-quote p{font-size:16px;opacity:.9}
.auth-rings{position:absolute;right:-200px;bottom:-200px;width:620px;height:620px;border-radius:50%;
  background:repeating-radial-gradient(circle,transparent 0 36px,color-mix(in srgb,var(--on-accent) 22%,transparent) 36px 37.5px)}
.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px}
.auth-form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:14px}
.auth-form h1{font-size:30px;font-weight:900}
.auth-submit{justify-content:center;padding:11px 16px;font-size:15px}
.auth-switch a,.auth-form a{font-weight:700}
.auth-mobile-brand{display:none;margin-bottom:24px}

@media (max-width:1000px){
  .f-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .echo{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:820px){
  .site-links{display:none}
  .auth{grid-template-columns:minmax(0,1fr)}
  .auth-side{display:none}
  .auth-mobile-brand{display:flex}
}
@media (max-width:640px){
  .s-hero{padding-top:40px}
  .echo{padding:14px}
  .echo-out{grid-template-columns:minmax(0,1fr)}
  .f-grid{grid-template-columns:minmax(0,1fr)}
  .f-wide{grid-column:auto}
  .site-auth .btn.ghost{display:none}
  .s-cta{padding:36px 18px}
}

/* ---------- Privacy page ---------- */
.legal{max-width:760px;gap:10px}
.legal h1{font-size:clamp(2rem,4vw,2.8rem);font-weight:900;letter-spacing:-.03em}
.legal h2{font-size:20px;margin-top:18px}
.legal ul{padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--ink-2)}
.legal p{color:var(--ink-2)}
