/* James Enterprises — jamesenterprises.biz */
  :root{
    --ink:#16243a;
    --ink-mid:#41506a;
    --ink-soft:#6c7890;
    --paper:#faf8f4;
    --paper-2:#f3efe8;
    --brass:#a8783c;
    --line:#e2dcd1;
    --line-dark:#33425e;
    --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
    --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    --maxw:1080px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;background:var(--paper);color:var(--ink);
    font-family:var(--sans);font-size:17px;line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }
  a{color:var(--ink);text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 30px}
  h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.2}

  /* ---------- header ---------- */
  header.site{border-bottom:1px solid var(--line);background:var(--paper)}
  .bar{display:flex;align-items:center;justify-content:center;padding:38px 0 32px}
  .brand{display:flex;align-items:center;cursor:pointer}
  .navband{border-top:1px solid var(--line)}
  nav.main{display:flex;gap:38px;align-items:center;flex-wrap:wrap;justify-content:center;padding:15px 0}
  nav.main a{font-size:14px;letter-spacing:.03em;color:var(--ink-mid);padding-bottom:3px;border-bottom:1px solid transparent;cursor:pointer}
  nav.main a:hover{color:var(--ink);border-bottom-color:var(--brass)}
  nav.main a.on{color:var(--ink);border-bottom-color:var(--brass)}

  /* ---------- generic ---------- */
  
  
  to{opacity:1;transform:none}}
  .eyebrow{font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:var(--brass);font-weight:600;margin:0 0 18px}
  .lede{font-size:20px;line-height:1.65;color:var(--ink-mid);max-width:66ch}
  section.band{padding:76px 0;border-top:1px solid var(--line)}
  section.band.tint{background:var(--paper-2)}
  .rule{width:52px;height:2px;background:var(--brass);margin:0 0 26px}

  /* ---------- hero ---------- */
  .hero{padding:104px 0 88px}
  .hero h1{font-size:clamp(34px,5.4vw,58px);margin:0 0 26px;max-width:19ch}
  .hero .lede{max-width:60ch}
  .hero .meta{margin-top:44px;padding-top:26px;border-top:1px solid var(--line);display:flex;gap:46px;flex-wrap:wrap}
  .hero .meta div{font-size:14px;color:var(--ink-soft);line-height:1.5}
  .hero .meta strong{display:block;font-family:var(--serif);font-size:26px;color:var(--ink);font-weight:400;margin-bottom:3px}

  /* ---------- grids ---------- */
  .grid{display:grid;gap:30px}
  .g2{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(3,1fr)}
  .card{background:#fff;border:1px solid var(--line);border-radius:5px;padding:30px}
  .card h3{font-size:20px;margin:0 0 12px}
  .card p{margin:0;font-size:15.5px;color:var(--ink-mid);line-height:1.7}
  .card ul{margin:14px 0 0;padding-left:18px;font-size:15px;color:var(--ink-mid)}
  .card ul li{margin-bottom:5px}

  .split{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:56px;align-items:start}
  .split h2{font-size:30px;margin:0}

  /* ---------- clients ---------- */
  .clients{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
  .clients span{border:1px solid var(--line);background:#fff;border-radius:3px;padding:11px 22px;font-family:var(--serif);font-size:18px;letter-spacing:.04em}

  /* ---------- contact ---------- */
  .contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:34px;margin-top:36px}
  .contact-grid h3{font-size:13px;font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 10px;font-weight:600}
  .contact-grid p{margin:0;font-size:16.5px;line-height:1.65}
  .contact-grid a{border-bottom:1px solid var(--brass)}

  /* ---------- legal ---------- */
  .legal{max-width:74ch}
  .legal h2{font-size:28px;margin:0 0 8px}
  .legal h3{font-size:19px;margin:38px 0 8px}
  .legal p,.legal li{font-size:15.5px;color:var(--ink-mid);line-height:1.75}
  .legal ul{padding-left:20px}
  .fill{background:#fbf1de;border-bottom:1px dashed var(--brass);padding:0 4px;color:#7d5620;font-size:.94em}
  .callout{border-left:2px solid var(--brass);background:#fff;padding:18px 22px;margin:26px 0;font-size:15px;color:var(--ink-mid)}

  /* ---------- footer ---------- */
  footer.site{background:var(--ink);color:#c3ccdb;padding:60px 0 34px;margin-top:0}
  footer.site a{color:#e8eaee;border-bottom:1px solid #46567a}
  footer.site a:hover{border-bottom-color:var(--brass)}
  .fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:38px}
  .fgrid h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8b9ab5;margin:0 0 12px;font-weight:600}
  .fgrid p,.fgrid li{font-size:14.5px;line-height:1.75;margin:0}
  .fgrid ul{list-style:none;margin:0;padding:0}
  .fbot{border-top:1px solid var(--line-dark);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;color:#7f8ea8}
  .fbot a{cursor:pointer}

  @media(max-width:860px){
    .g3{grid-template-columns:1fr 1fr}
    .split{grid-template-columns:1fr;gap:24px}
  }
  @media(max-width:640px){
    body{font-size:16px}
    .bar{padding:26px 0 22px}
    nav.main{gap:22px;font-size:14px}
    .g2,.g3{grid-template-columns:1fr}
    .hero{padding:64px 0 56px}
    section.band{padding:56px 0}
    .hero .meta{gap:28px}
  }
