@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Public+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');


  :root{
    --ink:#16283D;
    --ink-soft:#2E4258;
    --paper:#F3EEE1;
    --paper-white:#FBFAF4;
    --brass:#A9834B;
    --brass-light:#C9A876;
    --brick:#8C3B2E;
    --line:#D8CFB8;
    --slate:#6B7A8F;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Public Sans', sans-serif;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Fraunces', serif;
    font-weight:600;
    margin:0;
    color:var(--ink);
    letter-spacing:-0.01em;
  }
  .mono{
    font-family:'IBM Plex Mono', monospace;
  }
  a{color:inherit;}
  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 32px;
  }
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12.5px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--brass);
    font-weight:500;
  }
  /* ---------- Header ---------- */
  header{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(243,238,225,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    max-width:1180px;
    margin:0 auto;
    padding:18px 32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .wordmark{
    font-family:'Fraunces', serif;
    font-weight:600;
    font-size:21px;
    letter-spacing:-0.01em;
    display:flex;
    align-items:baseline;
    gap:8px;
  }
  .wordmark .dot{
    color:var(--brass);
  }
  nav ul{
    list-style:none;
    display:flex;
    gap:32px;
    margin:0;
    padding:0;
  }
  nav a{
    text-decoration:none;
    font-size:14.5px;
    font-weight:600;
    color:var(--ink-soft);
    transition:color .15s;
  }
  nav a:hover{color:var(--brick);}
  nav a.active{color:var(--brick);}
  .nav-cta{
    background:var(--ink);
    color:var(--paper-white) !important;
    padding:10px 20px;
    border-radius:2px;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    white-space:nowrap;
  }
  .nav-cta:hover{background:var(--ink-soft);}
  .nav-links-wrap{display:flex;align-items:center;gap:36px;}

  /* ---------- Hero ---------- */
  .hero{
    padding:88px 0 64px;
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:56px;
    align-items:center;
    max-width:1180px;
    margin:0 auto;
  }
  .hero h1{
    font-size:clamp(34px, 4.4vw, 54px);
    line-height:1.08;
    margin:18px 0 22px;
  }
  .hero h1 em{
    font-style:normal;
    color:var(--brick);
  }
  .hero p.lede{
    font-size:18px;
    color:var(--ink-soft);
    max-width:46ch;
    margin:0 0 32px;
  }
  .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
  .btn-primary{
    background:var(--brick);
    color:var(--paper-white);
    border:none;
    padding:15px 26px;
    font-size:15px;
    font-weight:700;
    border-radius:2px;
    text-decoration:none;
    display:inline-block;
    cursor:pointer;
    font-family:'Public Sans',sans-serif;
    transition:background .15s, transform .15s;
  }
  .btn-primary:hover{background:#732F24;transform:translateY(-1px);}
  .btn-secondary{
    background:transparent;
    color:var(--ink);
    border:1.5px solid var(--ink);
    padding:14px 24px;
    font-size:15px;
    font-weight:700;
    border-radius:2px;
    text-decoration:none;
    display:inline-block;
  }
  .btn-secondary:hover{border-color:var(--brick);color:var(--brick);}

  /* ---------- Ledger widget ---------- */
  .ledger{
    background:var(--paper-white);
    border:1px solid var(--line);
    border-radius:3px;
    box-shadow:0 24px 48px -20px rgba(22,40,61,0.28);
    overflow:hidden;
  }
  .ledger-head{
    padding:18px 22px;
    border-bottom:1px solid var(--line);
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:var(--ink);
    color:var(--paper-white);
  }
  .ledger-head .lh-title{
    font-family:'Fraunces', serif;
    font-size:15px;
    font-weight:600;
  }
  .ledger-head .lh-sub{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    color:var(--brass-light);
    letter-spacing:0.06em;
  }
  .ledger-rows{padding:6px 0;}
  .ledger-row{
    display:grid;
    grid-template-columns:74px 1fr auto;
    gap:14px;
    align-items:center;
    padding:14px 22px;
    border-bottom:1px solid #EFEAD9;
    opacity:0;
    transform:translateY(6px);
    animation:ledgerIn .5s ease forwards;
  }
  .ledger-row:last-child{border-bottom:none;}
  .ledger-row .ref{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    color:var(--slate);
  }
  .ledger-row .loc{
    font-size:14px;
    font-weight:600;
    color:var(--ink);
  }
  .ledger-row .loc span{
    display:block;
    font-weight:400;
    font-size:12.5px;
    color:var(--slate);
    margin-top:1px;
  }
  .status{
    font-family:'IBM Plex Mono', monospace;
    font-size:10.5px;
    letter-spacing:0.05em;
    text-transform:uppercase;
    padding:5px 9px;
    border-radius:2px;
    font-weight:500;
    white-space:nowrap;
  }
  .status.offer{background:#EFE6D3;color:var(--brass);}
  .status.agreed{background:#E4E9E0;color:#4C6B45;}
  .status.new{background:#F3E3DF;color:var(--brick);}
  @keyframes ledgerIn{to{opacity:1;transform:translateY(0);}}
  .ledger-row:nth-child(1){animation-delay:.15s;}
  .ledger-row:nth-child(2){animation-delay:.35s;}
  .ledger-row:nth-child(3){animation-delay:.55s;}
  .ledger-row:nth-child(4){animation-delay:.75s;}
  .ledger-stamp{
    margin:18px 22px 22px;
    padding-top:16px;
    border-top:1px dashed var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .ledger-stamp .stamp-text{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    color:var(--slate);
  }
  .stamp-badge{
    font-family:'Fraunces', serif;
    font-weight:700;
    font-size:12.5px;
    color:var(--brick);
    border:1.5px solid var(--brick);
    padding:5px 12px;
    border-radius:2px;
    transform:rotate(-4deg);
    opacity:0;
    animation:stampIn .4s cubic-bezier(.2,1.4,.4,1) forwards;
    animation-delay:1s;
    letter-spacing:0.03em;
  }
  @keyframes stampIn{
    0%{opacity:0;transform:rotate(-4deg) scale(1.6);}
    100%{opacity:1;transform:rotate(-4deg) scale(1);}
  }

  /* ---------- Trust bar ---------- */
  .trustbar{
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:var(--paper-white);
  }
  .trustbar .wrap{
    padding:22px 32px;
    display:flex;
    flex-wrap:wrap;
    gap:28px;
    justify-content:center;
    align-items:center;
  }
  .trust-item{
    display:flex;
    align-items:center;
    gap:9px;
    font-size:13.5px;
    font-weight:600;
    color:var(--ink-soft);
  }
  .trust-item .dotmark{
    width:6px;height:6px;border-radius:50%;background:var(--brass);flex-shrink:0;
  }

  /* ---------- Pressure / difficult situations ---------- */
  #pressure{padding:0 0 88px;}
  .pressure-panel{
    background:var(--paper-white);
    border:1px solid var(--line);
    border-top:3px solid var(--brass);
    padding:52px 56px;
    max-width:760px;
    margin:0 auto;
    text-align:center;
  }
  .pressure-panel .eyebrow{display:block;margin-bottom:14px;}
  .pressure-panel h2{
    font-size:clamp(24px,2.6vw,30px);
    line-height:1.2;
    max-width:22ch;
    margin:0 auto;
  }
  .pressure-lede{
    color:var(--ink-soft);
    font-size:16px;
    max-width:52ch;
    margin:20px auto 0;
  }
  .pressure-points{
    list-style:none;
    padding:0;
    margin:28px 0 0;
    display:flex;
    justify-content:center;
    gap:28px;
    flex-wrap:wrap;
  }
  .pressure-points li{
    font-size:14px;
    font-weight:600;
    color:var(--ink);
    display:flex;
    align-items:center;
    gap:8px;
  }
  .pressure-points li:before{
    content:"";
    width:6px;height:6px;
    border-radius:50%;
    background:var(--brass);
    flex-shrink:0;
  }
  .pressure-note{
    font-size:13px;
    color:var(--slate);
    max-width:54ch;
    margin:28px auto 0;
    padding-top:22px;
    border-top:1px dashed var(--line);
  }
  .pressure-note a{
    color:var(--ink-soft);
    text-decoration:underline;
  }
  .pressure-note a:hover{color:var(--brick);}

  /* ---------- Section shared ---------- */
  section{padding:88px 0;}
  .section-head{
    max-width:640px;
    margin:0 0 48px;
  }
  .section-head h2{
    font-size:clamp(28px,3vw,38px);
    margin-top:12px;
    line-height:1.15;
  }
  .section-head p{
    color:var(--ink-soft);
    font-size:16.5px;
    margin-top:14px;
  }

  /* ---------- Why cards ---------- */
  .why-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .why-card{
    background:var(--paper-white);
    padding:32px 26px;
  }
  .why-card h3{
    font-size:18px;
    margin-bottom:10px;
  }
  .why-card p{
    font-size:14.5px;
    color:var(--ink-soft);
    margin:0;
  }
  .why-card .wc-mark{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    color:var(--brass);
    margin-bottom:14px;
    display:block;
  }

  /* ---------- How it works ---------- */
  .how{background:var(--ink);color:var(--paper-white);}
  .how .eyebrow{color:var(--brass-light);}
  .how .section-head h2{color:var(--paper-white);}
  .how .section-head p{color:#B9C3CF;}
  .steps{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
    counter-reset:step;
  }
  .step{
    border-top:2px solid var(--brass);
    padding-top:20px;
  }
  .step .stepnum{
    font-family:'IBM Plex Mono', monospace;
    font-size:13px;
    color:var(--brass-light);
    display:block;
    margin-bottom:14px;
  }
  .step h3{
    color:var(--paper-white);
    font-size:18px;
    margin-bottom:10px;
  }
  .step p{
    color:#B9C3CF;
    font-size:14.5px;
    margin:0;
  }

  /* ---------- What we consider ---------- */
  .consider-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
  }
  .consider-card{
    background:var(--paper-white);
    border:1px solid var(--line);
    border-left:3px solid var(--brass);
    padding:24px 24px;
  }
  .consider-card h3{
    font-size:16.5px;
    margin-bottom:8px;
  }
  .consider-card p{
    font-size:14px;
    color:var(--ink-soft);
    margin:0;
  }

  /* ---------- Contact ---------- */
  .contact{
    background:var(--paper-white);
    border-top:1px solid var(--line);
  }
  .contact-inner{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:56px;
  }
  .contact-side h2{font-size:clamp(26px,2.8vw,32px);line-height:1.16;margin-top:12px;}
  .contact-side p{color:var(--ink-soft);font-size:15.5px;margin-top:16px;}
  .reassure-list{list-style:none;padding:0;margin:26px 0 0;}
  .reassure-list li{
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-size:14.5px;
    color:var(--ink-soft);
    margin-bottom:12px;
  }
  .reassure-list li:before{
    content:"—";
    color:var(--brass);
    font-weight:700;
    flex-shrink:0;
  }
  .direct-contact{
    margin-top:32px;
    padding-top:24px;
    border-top:1px solid var(--line);
  }
  .direct-contact .mono{font-size:13px;color:var(--slate);display:block;margin-bottom:4px;}
  .direct-contact .dc-value{font-size:16px;font-weight:600;margin-bottom:14px;}

  form{
    background:var(--paper);
    border:1px solid var(--line);
    padding:36px;
    border-radius:3px;
  }
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .field{margin-bottom:18px;}
  .field label{
    display:block;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:0.03em;
    text-transform:uppercase;
    color:var(--ink-soft);
    margin-bottom:7px;
    font-family:'IBM Plex Mono', monospace;
  }
  .field input, .field select, .field textarea{
    width:100%;
    padding:12px 13px;
    border:1px solid var(--line);
    background:var(--paper-white);
    font-family:'Public Sans', sans-serif;
    font-size:14.5px;
    color:var(--ink);
    border-radius:2px;
  }
  .field textarea{resize:vertical;min-height:88px;}
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:2px solid var(--brick);
    outline-offset:1px;
    border-color:var(--brick);
  }
  .submit-btn{
    width:100%;
    background:var(--brick);
    color:var(--paper-white);
    border:none;
    padding:16px;
    font-size:15px;
    font-weight:700;
    border-radius:2px;
    cursor:pointer;
    font-family:'Public Sans',sans-serif;
    margin-top:6px;
  }
  .submit-btn:hover{background:#732F24;}
  .form-note{
    font-size:12.5px;
    color:var(--slate);
    margin-top:14px;
    text-align:center;
  }
  .success-msg{
    display:none;
    text-align:center;
    padding:40px 20px;
  }
  .success-msg .stamp-badge{
    position:static;
    display:inline-block;
    font-size:16px;
    padding:8px 18px;
    margin-bottom:18px;
    animation:stampIn .4s cubic-bezier(.2,1.4,.4,1) forwards;
  }
  .success-msg h3{font-size:20px;margin-bottom:8px;}
  .success-msg p{color:var(--ink-soft);font-size:14.5px;}

  /* ---------- Footer ---------- */
  footer{
    background:var(--ink);
    color:#B9C3CF;
    padding:56px 0 32px;
  }
  .footer-top{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:40px;
    padding-bottom:36px;
    border-bottom:1px solid #2E4258;
  }
  footer .wordmark{color:var(--paper-white);}
  footer .foot-desc{font-size:14px;margin-top:14px;max-width:32ch;color:#9BA9B8;}
  footer h4{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--brass-light);
    margin-bottom:16px;
    font-weight:500;
  }
  footer ul{list-style:none;padding:0;margin:0;}
  footer li{margin-bottom:10px;font-size:14px;}
  footer a{text-decoration:none;color:#B9C3CF;}
  footer a:hover{color:var(--paper-white);}
  .foot-bottom{
    padding-top:24px;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    font-size:12.5px;
    color:#7D8CA0;
  }

  /* ---------- Responsive ---------- */
  @media (max-width:900px){
    nav ul{display:none;}
    .hero{grid-template-columns:1fr;padding-top:56px;}
    .why-grid{grid-template-columns:repeat(2,1fr);}
    .steps{grid-template-columns:repeat(2,1fr);}
    .consider-grid{grid-template-columns:1fr;}
    .contact-inner{grid-template-columns:1fr;}
    .footer-top{grid-template-columns:1fr;gap:32px;}
    .form-row{grid-template-columns:1fr;}
    .pressure-panel{padding:36px 24px;}
    .pressure-points{flex-direction:column;gap:12px;align-items:center;}
    .credentials-grid{grid-template-columns:1fr;}
  }

  /* ---------- Credentials ---------- */
  .credentials-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
  }
  .credential-card{
    background:var(--paper-white);
    border:1px solid var(--line);
    padding:30px 26px;
    text-align:center;
  }
  .cred-icon{
    width:36px;
    height:36px;
    color:var(--brass);
    margin-bottom:16px;
  }
  .cred-logo-tile{
    background:var(--ink);
    border-radius:4px;
    padding:14px 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-bottom:16px;
    min-height:26px;
  }
  .cred-logo-tile img{
    max-height:24px;
    max-width:110px;
    width:auto;
    height:auto;
    display:block;
  }
  .credential-card h3{
    font-size:16.5px;
    margin-bottom:8px;
  }
  .credential-card p{
    font-size:13.5px;
    color:var(--ink-soft);
    margin:0 0 14px;
  }
  .cred-ref{
    display:inline-block;
    font-size:11.5px;
    color:var(--slate);
    background:var(--paper);
    padding:5px 10px;
    border-radius:2px;
    letter-spacing:0.02em;
  }

  @media (prefers-reduced-motion: reduce){
    .ledger-row, .stamp-badge{animation:none !important;opacity:1 !important;transform:none !important;}
  }
