  :root{
    --cream:#F2E8DC; --trav:#E3D2BC; --char:#26221F; --rust:#A8442A;
    --ember:#C25A33; --must:#D9A441; --brass:#B08D57; --mute:#8a7c66; --ink:#5a5046;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--cream); color:var(--char);
    font-family:'Bitstream Charter', Georgia, 'Times New Roman', serif;
    font-size:18px; line-height:1.6; -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:1120px; margin:0 auto; padding:0 32px;}
  a{color:var(--rust); text-decoration:none; border-bottom:1px solid rgba(168,68,42,.35);}
  a:hover{border-bottom-color:var(--rust);}
  .mono{font-family:'Noto Sans Display', system-ui, sans-serif;}
  .kicker{
    font-family:'Noto Sans Display', system-ui, sans-serif; font-size:12px; font-weight:500;
    letter-spacing:.34em; text-transform:uppercase; color:var(--mute);
  }
  h1,h2,h3{font-weight:400; line-height:1.1; letter-spacing:-.01em;}
  h1{font-size:56px;}
  h2{font-size:40px; margin:14px 0 18px;}
  h3{font-family:'Noto Sans Display', system-ui, sans-serif; font-size:13px; font-weight:500;
     letter-spacing:.24em; text-transform:uppercase; color:var(--rust); margin-bottom:14px;}
  section{padding:96px 0; border-top:1px solid rgba(38,34,31,.14);}
  section:first-of-type{border-top:none;}
  .lead{font-size:24px; line-height:1.5; max-width:760px; color:var(--char);}
  .p{max-width:720px; color:var(--ink); margin-top:18px;}
  .amp{color:var(--brass);}

  /* header */
  header{
    position:sticky; top:0; z-index:50; background:rgba(242,232,220,.92);
    backdrop-filter:blur(6px); border-bottom:1px solid rgba(38,34,31,.12);
  }
  .bar{display:flex; align-items:center; justify-content:space-between; height:64px;}
  .brand{display:flex; align-items:center; gap:12px; font-family:'Noto Sans Display', sans-serif;
     font-size:15px; font-weight:500; letter-spacing:.34em; color:var(--char); border:none;}
  .brand:hover{border:none;}
  .brand img{width:26px; height:26px; display:block;}
  .brand .sub{letter-spacing:.16em; font-size:10px; color:var(--mute); margin-left:10px; text-transform:lowercase;}
  nav{display:flex; gap:26px; flex-wrap:wrap;}
  nav a{
    font-family:'Noto Sans Display', sans-serif; font-size:11.5px; letter-spacing:.2em;
    text-transform:uppercase; color:var(--ink); border:none;
  }
  nav a:hover{color:var(--rust);}

  /* hero */
  .hero{padding:0; border-top:none;}
  .hero-art{position:relative; width:100%; aspect-ratio:16/10; min-height:460px; background:var(--trav); overflow:hidden;}
  .hero-art svg{position:absolute; inset:0; width:100%; height:100%;}
  .hero-copy{padding:56px 0 8px;}
  .hero-copy .fline{font-size:34px; line-height:1.25; max-width:820px;}
  .hero-copy .law{margin-top:30px; font-family:'Noto Sans Display', sans-serif; font-size:12px;
     letter-spacing:.32em; text-transform:uppercase; color:var(--mute);}
  .hero-copy .law .r{display:inline-block; width:44px; height:1px; background:var(--brass); vertical-align:middle; margin-right:12px;}

  /* two arms */
  .arms{display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid rgba(38,34,31,.16);}
  .arm{padding:44px 36px;}
  .arm.sol{background:#F6EEDF; border-right:1px solid rgba(38,34,31,.16);}
  .arm.ember{background:#EAD9C0;}
  .arm h3{margin-bottom:16px;}
  .arm p{color:var(--ink);}
  .arm ul{list-style:none; margin-top:20px; font-family:'Noto Sans Display', sans-serif; font-size:13px; color:var(--ink);}
  .arm li{padding:8px 0; border-top:1px solid rgba(38,34,31,.12);}
  .armimg{width:64px; height:auto; margin-bottom:22px;}

  /* mesh */
  .meshwrap{position:relative; margin-top:30px; border:1px solid rgba(38,34,31,.16); background:#F6EEDF; aspect-ratio:16/9;}
  .meshwrap svg{position:absolute; inset:0; width:100%; height:100%;}
  .mnote{font-family:'Noto Sans Display', sans-serif; font-size:13px; color:var(--mute); margin-top:16px;}

  /* contact */
  .desks{display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:34px; border:1px solid rgba(38,34,31,.16);}
  .desk{display:block; padding:34px 30px; border-right:1px solid rgba(38,34,31,.16); border-bottom:none; color:inherit;}
  .desk:hover{background:#F6EEDF; border-bottom:none;}
  .desk:last-child{border-right:none;}
  .desk .role{font-family:'Noto Sans Display', sans-serif; font-size:11.5px; font-weight:500;
     letter-spacing:.24em; text-transform:uppercase; color:var(--rust);}
  .desk .roleexp{font-family:'Noto Sans Display', sans-serif; font-size:10.5px; letter-spacing:.08em;
     color:var(--mute); margin-top:6px;}
  .desk .who{font-size:22px; margin:14px 0 10px;}
  .desk .addr{font-family:'Noto Sans Display', sans-serif; font-size:14px; color:var(--ink); word-break:break-word;}
  .desk .go{font-family:'Noto Sans Display', sans-serif; font-size:11px; letter-spacing:.22em;
     text-transform:uppercase; color:var(--rust); margin-top:16px; display:inline-block;}
  @media(max-width:820px){.desks{grid-template-columns:1fr;} .desk{border-right:none; border-bottom:1px solid rgba(38,34,31,.16);} .desk:last-child{border-bottom:none;}}

  /* first ember */
  .quote{font-size:34px; line-height:1.35; margin:8px 0 20px;}
  .attrib{font-family:'Noto Sans Display', sans-serif; font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--mute);}
  .emberwrap{margin:44px 0 8px; text-align:center;}
  .emberwrap img{width:230px; height:auto; display:inline-block;}
  .emberwrap .word{font-family:'Bitstream Charter', serif; font-size:26px; letter-spacing:.06em; margin-top:18px;}
  .emberwrap .word .amp{font-style:italic;}

  /* person pages */
  .profhead{padding:80px 0 8px; border-top:none;}
  .profhead .role{font-family:'Noto Sans Display', sans-serif; font-size:12px; letter-spacing:.3em;
     text-transform:uppercase; color:var(--rust); margin-bottom:16px;}
  .profhead h1{margin-bottom:18px;}
  .svc{display:grid; grid-template-columns:1fr; gap:0; border:1px solid rgba(38,34,31,.16); margin-top:30px;}
  .svcrow{display:flex; justify-content:space-between; gap:24px; align-items:baseline; padding:22px 26px;
     border-top:1px solid rgba(38,34,31,.14); flex-wrap:wrap;}
  .svcrow:first-child{border-top:none;}
  .svcrow .n{font-size:20px;}
  .svcrow .d{font-family:'Noto Sans Display', sans-serif; font-size:13px; color:var(--mute); margin-top:6px; max-width:640px;}
  .svcrow .pr{font-family:'Noto Sans Display', sans-serif; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--rust); white-space:nowrap;}
  .record{list-style:none; margin-top:26px; max-width:820px;}
  .record li{padding:16px 0; border-top:1px solid rgba(38,34,31,.14);}
  .record .when{font-family:'Noto Sans Display', sans-serif; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--mute);}
  .record .what{margin-top:6px;}
  .backlink{display:inline-block; margin-bottom:20px; font-family:'Noto Sans Display', sans-serif; font-size:11px;
     letter-spacing:.2em; text-transform:uppercase; color:var(--mute); border:none;}

  /* ledger */
  .codeblock{
    background:#26221F; color:#E3D2BC; border-radius:4px; padding:20px 22px; margin-top:22px;
    font-family:'DejaVu Sans Mono', monospace; font-size:13px; line-height:1.7; overflow-x:auto;
  }
  .codeblock .c{color:#B08D57;}
  .codeblock .no{color:#E8C36A;}
  .dlrow{display:flex; gap:18px; flex-wrap:wrap; margin-top:26px;}
  .dl{
    font-family:'Noto Sans Display', sans-serif; font-size:12px; letter-spacing:.16em; text-transform:uppercase;
    padding:12px 18px; border:1px solid rgba(38,34,31,.28); color:var(--char); border-bottom:1px solid rgba(38,34,31,.28);
  }
  .dl:hover{border-color:var(--rust); color:var(--rust);}

  table.rules{width:100%; border-collapse:collapse; margin-top:24px; font-family:'Noto Sans Display', sans-serif; font-size:14px;}
  table.rules td{padding:11px 14px; border-top:1px solid rgba(38,34,31,.14); vertical-align:top;}
  table.rules td:first-child{color:var(--rust); font-weight:500; white-space:nowrap;}

  /* law / footer */
  .lawband{background:var(--char); color:var(--cream); padding:80px 0;}
  .lawband .lawline{font-size:40px; line-height:1.2;}
  .lawband .small{font-family:'Noto Sans Display', sans-serif; font-size:12px; letter-spacing:.24em;
     text-transform:uppercase; color:#a99a84; margin-top:22px;}
  footer{padding:40px 0; font-family:'Noto Sans Display', sans-serif; font-size:12px; color:var(--mute);}
  footer .row{display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;}

  @media (max-width:760px){
    .arms{grid-template-columns:1fr;}
    .arm.sol{border-right:none; border-bottom:1px solid rgba(38,34,31,.16);}
    h1{font-size:38px;} h2{font-size:30px;} .hero-copy .fline{font-size:26px;} .lawband .lawline{font-size:28px;}
    nav{display:none;}
    section{padding:64px 0;}
  }

/* hero image (fire under a starry sky) */
.hero-art img.heroimg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0;}
.hero-art svg.hero-mesh{z-index:2;}
.hero-art::after{content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
  background:linear-gradient(180deg, rgba(38,34,31,.14) 0%, rgba(38,34,31,0) 26%, rgba(38,34,31,0) 60%, rgba(38,34,31,.10) 100%);}
.hero-art a{cursor:pointer; text-decoration:none; border-bottom:none;}
.hero-art a .seat{transition:opacity .18s ease;}
.hero-art a:hover .seat{opacity:.82;}
