/* Generated from src/css by build.py — edit the source, not this file. */
main{padding-top:0}
  .blog-hero{padding:120px 0 44px;border-bottom:1px solid var(--line)}
  .blog-hero h1{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:.94;font-size:clamp(38px,5.6vw,76px);margin-top:16px}
  .blog-hero p{color:var(--muted);max-width:52ch;margin-top:18px}
  .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:46px 0 90px}
  .post{border:1px solid var(--line);background:var(--panel);padding:26px 22px;display:flex;flex-direction:column;min-height:250px;transition:.2s}
  .post:hover{border-color:rgba(255,126,182,.5);transform:translateY(-2px)}
  .post .cat{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--pink)}
  .post h3{font-family:var(--font-accent);font-style:italic;font-weight:400;font-size:24px;line-height:1.15;margin:14px 0 10px;text-transform:none}
  .post p{color:var(--muted);font-size:13.5px;flex:1}
  .post .meta{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-top:16px}
  .post.soon{opacity:.55}
  .article{max-width:760px;margin:0 auto;padding:120px 0 80px}
  .article h1{font-size:clamp(34px,4.4vw,56px);line-height:1.02;margin:14px 0 18px}
  .article .meta{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
  .article p{color:#d6ccdd;font-size:17px;line-height:1.7;margin:16px 0}
  .article h2{font-size:clamp(24px,3vw,32px);margin:38px 0 8px}
  .article .lead{font-family:var(--font-accent);font-style:italic;font-size:22px;color:var(--ink);line-height:1.4}
  .article .cta{border:1px solid transparent;background:linear-gradient(#0f0a16,#0f0a16) padding-box,var(--grad) border-box;padding:26px;margin:42px 0}
  .article .cta h3{font-family:var(--font-display);text-transform:uppercase;font-size:20px;letter-spacing:.04em}
  .article .cta p{font-size:14px;margin-top:8px}
  @media (max-width:1000px){.posts{grid-template-columns:1fr 1fr}}
  @media (max-width:1600px){
    /* .article sets its own padding, which was cancelling .wrap's side gutters
       and letting body text touch the screen edge on a phone. */
    .article{padding-left:18px;padding-right:18px}
    .article .cta{padding:22px 18px}
  }
  @media (max-width:640px){.posts{grid-template-columns:1fr}.page-first,.page-hero,.blog-hero,.article{padding-top:100px}}


/* --- standalone content pages: /apply/, /join-our-team/ --- */
.page-first{padding-top:120px}
.page-hero{padding:120px 0 44px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(36px,5.4vw,68px);line-height:1.02;margin-top:16px}
.page-hero p{color:var(--muted);max-width:56ch;margin-top:18px;font-size:17px}
.band{padding:52px 0}
.band h2{font-size:clamp(26px,3.4vw,38px)}
.band p{color:var(--muted);margin-top:12px;max-width:60ch}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.step3{border:1px solid var(--line);background:var(--panel);padding:24px}
.step3 .n{font-family:var(--font-display);font-size:12px;letter-spacing:.14em;color:var(--pink)}
.step3 h3{font-size:21px;margin:10px 0 8px}
.step3 p{color:var(--muted);font-size:14px;margin:0}
.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.role-card{border:1px solid var(--line);background:var(--panel);padding:26px}
.role-card .n{font-family:var(--font-display);font-size:13px;letter-spacing:.12em;color:var(--pink)}
.role-card h3{font-size:22px;margin:10px 0 8px}
.role-card p{color:var(--muted);font-size:14px;margin:0}
.role-card .pay{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-top:14px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.note-list{margin-top:22px;padding:0;list-style:none}
.note-list li{color:var(--muted);font-size:14.5px;padding:10px 0;border-top:1px solid var(--line)}
.note-list li b{color:var(--ink);font-weight:600}
.fwrap textarea{width:100%;background:#0c0710;border:1px solid var(--line);color:var(--ink);
  padding:13px 14px;font-family:inherit;font-size:14px;outline:none;border-radius:0;min-height:80px;resize:vertical}
.fwrap textarea:focus{border-color:var(--pink)}
.fwrap .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:760px){.steps3,.role-grid,.fwrap .row2{grid-template-columns:1fr}}

/* phones: the fixed 60px header already eats the top of the screen, so the
   standalone pages need a much shorter lead-in than the desktop 120px. This
   block must stay at the end of the file: written before .page-first it had the
   same specificity and lost to the base rule, so the phone kept the desktop gap. */
@media (max-width:640px){
  .page-first{padding-top:78px}
}