
  :root {
    --ink: #0B0E14;
    --ink-2: #0F1218;
    --surface: #161A22;
    --hairline: #262C38;
    --paper: #ECECE7;
    --muted: #8A93A6;
    --brass: #C9A227;
    --brass-2: #E8C45A;
    --cyan: #5EE0D0;
    --maxw: 1180px;
    --ease: cubic-bezier(0.22, 1, 0.36, 1);
  }

  * { box-sizing: border-box; margin: 0; padding: 0; }

  html { scroll-behavior: smooth; }

  body {
    background: var(--ink);
    color: var(--paper);
    font-family: "Inter", system-ui, -apple-system, sans-serif;
    font-size: 17px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }

  ::selection { background: rgba(201,162,39,0.3); color: var(--paper); }

  h1, h2, h3, .serif { font-family: "Fraunces", Georgia, serif; font-weight: 500; line-height: 1.08; letter-spacing: -0.01em; }

  .mono {
    font-family: "JetBrains Mono", ui-monospace, monospace;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.72rem;
    color: var(--muted);
  }

  a { color: inherit; text-decoration: none; }

  .wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 28px; }

  /* ---- scroll progress ---- */
  #progress {
    position: fixed; top: 0; left: 0; height: 2px; width: 0%;
    background: linear-gradient(90deg, var(--brass), var(--brass-2));
    z-index: 200; transition: width 80ms linear;
  }

  /* ---- nav ---- */
  nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    transition: background 0.3s var(--ease), border-color 0.3s var(--ease), backdrop-filter 0.3s;
    border-bottom: 1px solid transparent;
  }
  nav.solid {
    background: rgba(11,14,20,0.82);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--hairline);
  }
  .nav-inner { display: flex; align-items: center; justify-content: space-between; height: 70px; }
  .brand { font-family: "JetBrains Mono", monospace; font-size: 0.82rem; letter-spacing: 0.16em; color: var(--paper); font-weight: 500; white-space: nowrap; flex: none; margin-right: 20px; }
  .brand b { color: var(--brass); font-weight: 500; }
  .nav-links { display: flex; gap: 22px; align-items: center; flex-wrap: nowrap; }
  .nav-links a.link { font-size: 0.9rem; color: var(--muted); transition: color 0.2s; white-space: nowrap; }
  .nav-links .pill, .nav-links .btn-ghost { white-space: nowrap; flex: none; }
  .nav-links a.link:hover { color: var(--paper); }

  .pill {
    display: inline-flex; align-items: center; gap: 8px;
    background: linear-gradient(135deg, var(--brass), var(--brass-2));
    color: #1a1404; font-weight: 600; font-size: 0.9rem;
    padding: 11px 20px; border-radius: 100px;
    transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
    will-change: transform;
  }
  .pill:hover { box-shadow: 0 0 28px rgba(201,162,39,0.45); transform: translateY(-1px); }

  .nav-toggle { display: none; background: none; border: 0; color: var(--paper); cursor: pointer; font-size: 1.4rem; }

  /* ---- hero ---- */
  .hero { position: relative; min-height: 100vh; display: flex; align-items: center; padding: 120px 0 80px; }
  #constellation { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
  .hero-fade { position: absolute; inset: 0; z-index: 1; background: radial-gradient(ellipse 80% 60% at 50% 40%, transparent 0%, var(--ink) 95%); pointer-events: none; }
  .hero .wrap { position: relative; z-index: 2; }
  .hero-eyebrow { margin-bottom: 26px; display: block; }
  .hero h1 { font-size: clamp(2.6rem, 6.4vw, 5.4rem); max-width: 16ch; margin-bottom: 28px; }
  .hero h1 .accent { color: var(--brass); font-style: italic; }
  .hero-sub { font-size: clamp(1.05rem, 1.6vw, 1.3rem); color: var(--muted); max-width: 62ch; margin-bottom: 40px; }
  .hero-sub b { color: var(--paper); font-weight: 500; }

  .cta-row { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
  .btn-ghost {
    display: inline-flex; align-items: center; gap: 8px;
    border: 1px solid var(--hairline); color: var(--paper);
    padding: 11px 22px; border-radius: 100px; font-size: 0.9rem; font-weight: 500;
    transition: border-color 0.2s, background 0.2s;
  }
  .btn-ghost:hover { border-color: var(--brass); background: rgba(201,162,39,0.06); }

  .trust-strip { margin-top: 60px; display: flex; flex-wrap: wrap; gap: 18px 40px; border-top: 1px solid var(--hairline); padding-top: 30px; }
  .trust-item { display: flex; flex-direction: column; gap: 5px; }
  .trust-num { font-family: "Fraunces", serif; font-size: 1.7rem; color: var(--brass); line-height: 1; }
  .trust-cap { font-family: "JetBrains Mono", monospace; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.12em; color: var(--muted); max-width: 22ch; }

  /* ---- section frame ---- */
  section { position: relative; padding: 110px 0; }
  .sec-head { max-width: 60ch; margin-bottom: 54px; }
  .sec-head .eyebrow { display: block; margin-bottom: 18px; }
  .sec-head h2 { font-size: clamp(2rem, 4vw, 3.2rem); }
  .sec-lead { color: var(--muted); margin-top: 16px; font-size: 1.1rem; max-width: 56ch; }

  /* reveal */
  .reveal { opacity: 0; transform: translateY(26px); filter: blur(6px); transition: opacity 0.7s var(--ease), transform 0.7s var(--ease), filter 0.7s var(--ease); }
  .reveal.in { opacity: 1; transform: none; filter: none; }

  /* ---- two practices ---- */
  .practices { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 26px; position: relative; }
  .practice {
    background: var(--surface); border: 1px solid var(--hairline);
    border-radius: 16px; padding: 42px 38px; position: relative; overflow: hidden;
    transition: transform 0.4s var(--ease), border-color 0.4s var(--ease);
  }
  .practice:hover { transform: translateY(-4px); }
  .practice::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; }
  .practice.legal::before { background: linear-gradient(90deg, var(--brass), var(--brass-2)); }
  .practice.legal:hover { border-color: rgba(201,162,39,0.5); }
  .practice.cleared::before { background: linear-gradient(90deg, var(--cyan), #9af3e8); }
  .practice.cleared:hover { border-color: rgba(94,224,208,0.5); }
  .practice .p-eyebrow { margin-bottom: 20px; display: block; }
  .practice.cleared .p-eyebrow { color: var(--cyan); }
  .practice h3 { font-size: 1.85rem; margin-bottom: 16px; }
  .practice p.p-body { color: var(--muted); margin-bottom: 24px; }
  .tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
  .tag { font-family: "JetBrains Mono", monospace; font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; padding: 5px 11px; border-radius: 6px; border: 1px solid var(--hairline); color: var(--muted); }
  .practice.legal .tag { border-color: rgba(201,162,39,0.3); }
  .practice.cleared .tag { border-color: rgba(94,224,208,0.3); }
  .p-cta { font-family: "JetBrains Mono", monospace; font-size: 0.8rem; letter-spacing: 0.06em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 7px; transition: gap 0.2s; }
  .practice.legal .p-cta { color: var(--brass); }
  .practice.cleared .p-cta { color: var(--cyan); }
  .practice.field::before { background: linear-gradient(90deg, #7da7d9, #b8d4f0); }
  .practice.field:hover { border-color: rgba(125,167,217,0.5); }
  .practice.field .p-eyebrow { color: #7da7d9; }
  .practice.field .tag { border-color: rgba(125,167,217,0.3); }
  .practice.field .p-cta { color: #7da7d9; }
  .p-cta:hover { gap: 13px; }

  /* ---- the edge ---- */
  .edge { background: var(--ink-2); }
  .edge h2 .c { color: var(--cyan); font-style: italic; }
  .tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 18px; }
  .tile { background: var(--surface); border: 1px solid var(--hairline); border-radius: 14px; padding: 28px 24px; transition: border-color 0.3s, transform 0.3s var(--ease); }
  .tile:hover { border-color: rgba(94,224,208,0.4); transform: translateY(-3px); }
  .tile .t-ico { width: 30px; height: 30px; margin-bottom: 18px; color: var(--cyan); }
  .tile .t-label { font-family: "JetBrains Mono", monospace; font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cyan); margin-bottom: 10px; }
  .tile p { font-size: 0.92rem; color: var(--muted); line-height: 1.55; }
  .edge-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 50px; align-items: center; }
  #matchgraph { width: 100%; height: 340px; border: 1px solid var(--hairline); border-radius: 14px; background: var(--surface); }

  /* ---- approach ---- */
/* ===== Approach: two rails, one search ===== */
#approach{ background:var(--ink); padding:88px 0 80px; }
#approach .sec-head h2 .i{
  font-family:"Fraunces", serif;
  font-style:italic;
  font-weight:inherit;
  color:var(--brass);
}

.ap-circuit{
  --ap-gap:28px;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  column-gap:36px;
  row-gap:var(--ap-gap);
  margin-top:56px;
}
.ap-step{
  grid-row:span 3;
  display:grid;
  grid-template-rows:subgrid;
  row-gap:var(--ap-gap); /* fallback spacing if subgrid is unsupported */
}

.ap-head{ position:relative; }
.ap-head::after{ /* drop trace: title into me node */
  content:"";
  position:absolute; left:5px; bottom:calc(-1 * var(--ap-gap));
  width:1px; height:var(--ap-gap);
  background:var(--hairline);
}
.ap-num{
  font-family:"JetBrains Mono", monospace;
  font-size:11px;
  letter-spacing:.24em;
  color:var(--muted);
  transition:color .25s ease;
}
.ap-title{
  margin:9px 0 0;
  font-family:"Fraunces", serif;
  font-weight:500;
  font-size:20px;
  line-height:1.25;
  letter-spacing:-.01em;
  color:var(--paper);
}

.ap-cell{ position:relative; padding:27px 0 0 22px; }
.ap-cell::before{ /* node */
  content:"";
  position:absolute; top:0; left:0;
  width:11px; height:11px;
  border-radius:50%;
  z-index:1;
  transition:transform .25s ease;
}
.ap-cell::after{ /* rail, bridges the column gap */
  content:"";
  position:absolute; top:5px; left:0; right:-36px;
  height:1px;
}
.ap-step:last-child .ap-cell::after{ right:0; }

.ap-me::before{ background:var(--brass); }
.ap-me::after{
  background:var(--hairline);
  background:color-mix(in srgb, var(--brass) 42%, transparent);
}
.ap-engine::before{
  width:9px; height:9px;
  background:var(--ink);
  border:1px solid var(--hairline);
  border-color:color-mix(in srgb, var(--cyan) 65%, transparent);
}
.ap-engine::after{
  background:var(--hairline);
  background:color-mix(in srgb, var(--cyan) 26%, transparent);
}

.ap-me > p::before{ /* vertical trace: me node into engine node */
  content:"";
  position:absolute; left:5px; top:5px; bottom:calc(-1 * var(--ap-gap));
  width:1px;
  background:var(--hairline);
  transition:background .25s ease;
}

.ap-tag{
  position:absolute; top:1px; left:22px; z-index:1;
  font-family:"JetBrains Mono", monospace;
  font-size:10px; line-height:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  background:var(--ink); /* masks the rail behind the label */
  padding-right:10px;
}
.ap-me .ap-tag{ color:var(--brass); }
.ap-engine .ap-tag{
  color:var(--muted);
  color:color-mix(in srgb, var(--cyan) 60%, var(--muted));
}

.ap-cell > p{
  margin:0;
  font-family:"Inter", sans-serif;
  font-size:14.5px;
  line-height:1.62;
  transition:color .25s ease;
}
.ap-me > p{ color:var(--paper); }
.ap-engine > p{ color:var(--muted); }

.ap-step:hover .ap-num{ color:var(--brass); }
.ap-step:hover .ap-cell::before{ transform:scale(1.35); }
.ap-step:hover .ap-me > p::before{ background:color-mix(in srgb, var(--brass) 45%, var(--hairline)); }
.ap-step:hover .ap-engine > p{
  color:var(--paper);
  color:color-mix(in srgb, var(--muted) 35%, var(--paper));
}

.ap-reassure{
  margin:56px auto 0;
  max-width:36em;
  text-align:center;
  font-family:"Fraunces", serif;
  font-style:italic;
  font-size:18px;
  line-height:1.6;
  color:var(--muted);
}

@media (max-width:900px){
  #approach{ padding:80px 0 72px; }
  .ap-circuit{ grid-template-columns:repeat(2, 1fr); column-gap:30px; margin-top:48px; }
  .ap-cell::after{ right:-30px; }
  .ap-step:nth-child(even) .ap-cell::after{ right:0; }
  .ap-step:nth-child(n+3) .ap-head{ padding-top:38px; }
  .ap-reassure{ margin-top:52px; }
}

@media (max-width:560px){
  .ap-circuit{ grid-template-columns:1fr; row-gap:46px; --ap-gap:20px; margin-top:44px; }
  .ap-step{ grid-row:auto; grid-template-rows:none; }
  .ap-step:nth-child(n+3) .ap-head{ padding-top:0; }
  .ap-cell::after{ right:0; }
  .ap-title{ font-size:19px; }
  .ap-cell > p{ font-size:14px; }
  .ap-reassure{ margin-top:44px; font-size:16.5px; }
}

  /* ---- proof ---- */
  .proof { background: var(--ink-2); }
  .proof-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 56px; }
  .pstat { text-align: center; padding: 30px 16px; border: 1px solid var(--hairline); border-radius: 14px; background: var(--surface); }
  .pstat .n { font-family: "Fraunces", serif; font-size: 2.5rem; color: var(--brass); line-height: 1; margin-bottom: 12px; }
  .pstat .c { font-family: "JetBrains Mono", monospace; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--muted); }
  .proof-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: start; }
  .proof-copy p { color: var(--muted); margin-bottom: 18px; }
  .proof-copy p b { color: var(--paper); font-weight: 500; }
  .quote-card { background: var(--surface); border: 1px solid var(--hairline); border-left: 3px solid var(--brass); border-radius: 12px; padding: 30px 32px; }
  .quote-card blockquote { font-family: "Fraunces", serif; font-size: 1.25rem; line-height: 1.4; margin-bottom: 18px; color: var(--paper); }
  .quote-card .attr { font-family: "JetBrains Mono", monospace; font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }

  /* ---- intake / cta ---- */
  .intake { background: linear-gradient(180deg, var(--ink) 0%, rgba(201,162,39,0.05) 60%, var(--ink) 100%); }
  .intake-grid { display: grid; grid-template-columns: 0.95fr 1.05fr; gap: 56px; align-items: start; }
  .intake h2 { font-size: clamp(2rem, 4vw, 3.2rem); margin-bottom: 20px; }
  .intake h2 .a { color: var(--brass); font-style: italic; }
  .intake-sub { color: var(--muted); font-size: 1.1rem; margin-bottom: 30px; max-width: 44ch; }
  .alt-contact { margin-top: 34px; padding-top: 26px; border-top: 1px solid var(--hairline); }
  .alt-contact .mono { display: block; margin-bottom: 12px; }
  .alt-contact a.line { display: inline-flex; align-items: center; gap: 9px; color: var(--paper); font-size: 0.95rem; margin-right: 24px; transition: color 0.2s; }
  .alt-contact a.line:hover { color: var(--brass); }

  form { background: var(--surface); border: 1px solid var(--hairline); border-radius: 18px; padding: 36px 34px; }
  .field { margin-bottom: 20px; }
  .field label { display: block; font-family: "JetBrains Mono", monospace; font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); margin-bottom: 9px; }
  .field label .req { color: var(--brass); }
  .field input, .field select, .field textarea {
    width: 100%; background: var(--ink); border: 1px solid var(--hairline);
    border-radius: 9px; padding: 13px 15px; color: var(--paper);
    font-family: "Inter", sans-serif; font-size: 0.96rem; transition: border-color 0.2s, box-shadow 0.2s;
  }
  .field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--brass); box-shadow: 0 0 0 3px rgba(201,162,39,0.12); }
  .field textarea { resize: vertical; min-height: 96px; }
  .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .submit-btn {
    width: 100%; background: linear-gradient(135deg, var(--brass), var(--brass-2));
    color: #1a1404; font-family: "Inter", sans-serif; font-weight: 600; font-size: 1rem;
    border: 0; border-radius: 100px; padding: 15px; cursor: pointer; margin-top: 6px;
    display: inline-flex; align-items: center; justify-content: center; gap: 9px;
    transition: box-shadow 0.25s, transform 0.2s;
  }
  .submit-btn:hover { box-shadow: 0 0 30px rgba(201,162,39,0.45); transform: translateY(-1px); }
  .form-micro { text-align: center; font-size: 0.82rem; color: var(--muted); margin-top: 16px; }
  .form-note { font-size: 0.78rem; color: var(--muted); background: rgba(94,224,208,0.06); border: 1px solid rgba(94,224,208,0.2); border-radius: 8px; padding: 11px 14px; margin-top: 18px; display: none; }
  .form-note.show { display: block; }

  /* ---- footer ---- */
  footer { border-top: 1px solid var(--hairline); padding: 56px 0 44px; background: var(--ink-2); }
  .foot-grid { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 30px; align-items: flex-start; }
  .foot-brand .serif { font-size: 1.4rem; margin-bottom: 12px; }
  .foot-brand p { color: var(--muted); font-size: 0.92rem; max-width: 40ch; }
  .foot-links { display: flex; gap: 60px; flex-wrap: wrap; }
  .foot-col h5 { font-family: "JetBrains Mono", monospace; font-size: 0.66rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); margin-bottom: 16px; }
  .foot-col a, .foot-col span { display: block; color: var(--paper); font-size: 0.9rem; margin-bottom: 10px; opacity: 0.85; transition: opacity 0.2s, color 0.2s; }
  .foot-col a:hover { color: var(--brass); opacity: 1; }
  .foot-bottom { margin-top: 46px; padding-top: 26px; border-top: 1px solid var(--hairline); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
  .foot-bottom span { font-size: 0.8rem; color: var(--muted); }

  /* ---- responsive ---- */
  @media (max-width: 1040px) { .nav-links { display: none; } .nav-toggle { display: block; } }
  @media (max-width: 900px) {
    .nav-links { display: none; }
    .nav-toggle { display: block; }
    .practices, .tiles, .steps, .proof-stats, .edge-grid, .proof-grid, .intake-grid { grid-template-columns: 1fr; }
    .tiles { grid-template-columns: 1fr 1fr; }
    .proof-stats { grid-template-columns: 1fr 1fr; }
    .step::after { display: none; }
    #matchgraph { height: 260px; }
  }
  @media (max-width: 560px) {
    body { font-size: 16px; }
    .wrap { padding: 0 20px; }
    section { padding: 78px 0; }
    .tiles, .proof-stats { grid-template-columns: 1fr; }
    .field-row { grid-template-columns: 1fr; }
    .hero { padding: 100px 0 60px; }
  }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; }
    .reveal { opacity: 1; transform: none; filter: none; }
    html { scroll-behavior: auto; }
  }
  /* ---- candidate portal teaser ---- */
  .portal-frame{ border:1px solid var(--hairline); border-radius:14px; overflow:hidden; background:var(--ink-2); box-shadow:0 34px 90px -34px rgba(0,0,0,0.72); max-width:1020px; }
  .pf-bar{ display:flex; align-items:center; gap:8px; padding:11px 16px; background:var(--surface); border-bottom:1px solid var(--hairline); }
  .pf-dot{ width:11px; height:11px; border-radius:100px; background:var(--hairline); display:inline-block; }
  .pf-url{ font-family:"JetBrains Mono", monospace; font-size:0.7rem; color:var(--muted); margin-left:14px; letter-spacing:0.04em; }
  .portal-frame img{ display:block; width:100%; height:auto; }
  .portal-pts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; margin-top:38px; max-width:1020px; }
  .portal-pts .pp{ display:flex; flex-direction:column; gap:6px; }
  .portal-pts .pp b{ font-size:1.02rem; color:var(--paper); font-weight:600; }
  .portal-pts .pp span{ color:var(--muted); font-size:0.95rem; line-height:1.55; }


  #faq .hh-faq{ max-width:840px; }
  .hh-faq-item{ border-top:1px solid var(--hairline); padding:26px 0; }
  .hh-faq-item:last-child{ border-bottom:1px solid var(--hairline); }
  .hh-faq-item h3{ font-family:"Fraunces", serif; font-weight:500; font-size:1.25rem; color:var(--paper); margin:0 0 10px; }
  .hh-faq-item p{ color:var(--muted); font-size:1rem; line-height:1.65; margin:0; max-width:72ch; }

/* ===== landing pages ===== */
.reveal{ opacity:1 !important; transform:none !important; filter:none !important; }
body{ overflow-x:hidden; }
.lp-hero{ padding:130px 0 64px; border-bottom:1px solid var(--hairline); }
.lp-hero .eyebrow{ display:block; margin-bottom:18px; }
.lp-hero h1{ font-family:"Fraunces",serif; font-weight:500; font-size:clamp(2.2rem,5.2vw,3.7rem); line-height:1.04; letter-spacing:-0.015em; max-width:20ch; margin:0 0 22px; color:var(--paper); }
.lp-hero h1 .a{ color:var(--brass); font-style:italic; }
.lp-sub{ color:var(--muted); font-size:1.18rem; line-height:1.6; max-width:62ch; margin:0 0 32px; }
.lp-cta{ display:flex; gap:14px; flex-wrap:wrap; }
.lp-sec{ padding:62px 0; border-bottom:1px solid var(--hairline); }
.lp-sec h2{ font-family:"Fraunces",serif; font-weight:500; font-size:clamp(1.7rem,3.4vw,2.3rem); margin:0 0 8px; color:var(--paper); }
.lp-lead{ font-size:1.15rem; color:var(--paper); line-height:1.65; max-width:78ch; }
.lp-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:20px; margin-top:30px; }
.lp-card{ border:1px solid var(--hairline); border-radius:14px; padding:26px; background:var(--ink-2); }
.lp-card h3{ font-family:"Fraunces",serif; font-weight:500; font-size:1.2rem; color:var(--paper); margin:0 0 10px; }
.lp-card p{ color:var(--muted); font-size:0.96rem; line-height:1.6; margin:0; }
ul.lp-roles{ columns:2; column-gap:48px; max-width:780px; margin:26px 0 0; padding:0; }
ul.lp-roles li{ color:var(--paper); padding:9px 0; list-style:none; border-bottom:1px solid var(--hairline); break-inside:avoid; font-size:0.98rem; }
.lp-cta-band{ text-align:center; padding:84px 0; }
.lp-cta-band h2{ font-family:"Fraunces",serif; font-weight:500; font-size:clamp(1.9rem,4vw,2.7rem); margin:0 0 14px; color:var(--paper); }
.lp-cta-band h2 .a{ color:var(--brass); font-style:italic; }
.lp-cta-band p{ color:var(--muted); max-width:54ch; margin:0 auto 28px; font-size:1.08rem; }
.lp-related{ padding:46px 0 64px; }
.lp-related .mono{ display:block; margin-bottom:16px; }
.lp-related a{ color:var(--brass); margin:0 22px 12px 0; font-size:0.98rem; display:inline-block; }
.lp-related a:hover{ color:var(--brass-2); }
@media(max-width:640px){ ul.lp-roles{ columns:1; } }
