/* PSG v3 — chrome + section grammar shared by every page */
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.55;
  letter-spacing:-.011em;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;background:none;border:none;cursor:pointer;color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
img,svg{max-width:100%;display:block}
.mono{font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}

/* nav */
.bar{position:fixed;inset:0 0 auto 0;height:60px;display:flex;align-items:center;justify-content:space-between;
  padding:0 var(--pad);z-index:60;mix-blend-mode:difference;color:#fff}
.bar .wm{font-family:var(--d);font-variation-settings:'wdth' 112,'wght' 700;font-size:13px;
  letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;position:relative}
.bar .wm::after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:44px}
.bar nav{display:flex;gap:clamp(14px,2.6vw,34px)}
.bar nav a{font-family:var(--m);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;opacity:.75;
  transition:opacity .25s var(--ease)}
.bar nav a:hover,.bar nav a[aria-current]{opacity:1}
.bar nav a[aria-current]{border-bottom:1px solid var(--red)}

/* section grammar */
.sec{padding:clamp(90px,14vh,170px) var(--pad)}
.lede{max-width:26ch;font-family:var(--d);font-variation-settings:'wdth' 92,'wght' 600;
  font-size:clamp(26px,3.4vw,44px);line-height:1.06;letter-spacing:-.028em}
.itm{position:relative;padding-left:18px}
.itm::before{content:"";position:absolute;left:0;top:5px;width:1px;height:15px;background:var(--hair);
  transition:background .3s var(--ease),height .3s var(--ease)}
.itm:hover::before{background:var(--red);height:30px}
.prow{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(0,2.2fr) minmax(90px,.7fr);gap:24px;
  padding:22px 0;border-top:1px solid var(--hair);align-items:baseline;transition:padding-left .4s var(--ease)}
.prow:hover{padding-left:12px}
.prow .n{font-size:16px;font-weight:500;letter-spacing:-.015em}
.prow .w{font-size:14px;color:var(--ink2);line-height:1.5}
.prow .r{font-family:var(--m);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);text-align:right}
.prow .r.on{color:var(--red)}

/* scroll reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}

/* CTA band */
.cta{border-top:1px solid var(--hair);padding:clamp(80px,12vh,140px) var(--pad);text-align:left}
.cta h2{font-family:var(--d);font-variation-settings:'wdth' 88,'wght' 700;
  font-size:clamp(30px,4.6vw,62px);line-height:.98;letter-spacing:-.032em;max-width:16ch}
.cta p{margin-top:18px;color:var(--ink2);max-width:44ch}
.cta .go{display:inline-flex;align-items:center;gap:12px;margin-top:34px;font-family:var(--m);font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);padding:15px 26px;border-radius:999px;
  transition:.3s var(--ease)}
.cta .go:hover{background:var(--ink);color:#fff;padding-right:34px}
.cta .go i{width:6px;height:6px;background:var(--red);border-radius:50%;font-style:normal}

footer{padding:34px var(--pad);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  border-top:1px solid var(--hair)}
footer nav{display:flex;gap:22px;flex-wrap:wrap}
footer nav a{font-family:var(--m);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink2)}
footer nav a:hover{color:var(--ink)}

@media(max-width:760px){
  .bar nav{gap:12px}
  .bar nav a.hm{display:none}
  /* wordmark + login pill together overflow a phone bar — shrink the wordmark */
  .bar .wm{font-size:11px;letter-spacing:.04em}
  .prow{grid-template-columns:1fr;gap:6px}.prow .r{text-align:left}
}
@media(max-width:430px){
  .bar .wm{font-size:10px;letter-spacing:.02em}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none}
}
