
  :root{
    --ink:#123A4D;
    --ink-soft:#1F5266;
    --paper:#EEF3F1;
    --paper-2:#FFFFFF;
    --brass:#3F7A5D;
    --brass-deep:#2F5F47;
    --slate:#54666A;
    --line:#D3DEDA;
    --serif: 'Source Serif 4', Georgia, serif;
    --sans: 'Public Sans', -apple-system, Segoe UI, Roboto, sans-serif;
    --maxw: 1120px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; background:var(--paper); color:var(--ink);
    font-family:var(--sans); line-height:1.6; font-size:16px;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  h1,h2,h3,h4{font-family:var(--serif); color:var(--ink); margin:0 0 .5em; font-weight:600; line-height:1.15;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
  p{max-width:66ch; color:var(--slate);}
  .lede{font-size:1.15rem; color:var(--ink-soft); max-width:60ch;}

  /* ---- Nav ---- */
  header.site{
    position:sticky; top:0; z-index:50; background:rgba(237,240,242,.94);
    backdrop-filter:blur(6px); border-bottom:1px solid var(--line);
  }
  .navbar{max-width:var(--maxw); margin:0 auto; padding:16px 28px; display:flex; align-items:center; justify-content:space-between; gap:24px;}
  .brand{display:flex; align-items:flex-start; gap:10px; font-family:var(--serif); font-weight:600; font-size:1.15rem; color:var(--ink); text-decoration:none;}
  .brand .mark{margin-top:2px;}
  .brand .mark{width:34px; height:34px; background:var(--ink); color:var(--brass); border-radius:2px; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:1.1rem;}
  nav.links{display:flex; gap:26px; font-size:.95rem;}
  nav.links a{text-decoration:none; color:var(--ink-soft); border-bottom:2px solid transparent; padding-bottom:4px;}
  nav.links a:hover{border-color:var(--brass);}
  .nav-cta{background:var(--ink); color:#fff; padding:9px 16px; border-radius:2px; text-decoration:none; font-size:.85rem; font-weight:600; white-space:nowrap; margin-left:8px; flex-shrink:0;}
  .nav-cta:hover{background:var(--ink-soft);}
  #menu-toggle{display:none;}
  .burger{display:none; background:none; border:1px solid var(--line); border-radius:3px; padding:8px 10px; font-size:1.1rem; cursor:pointer;}

  @media (max-width:900px){
    nav.links{position:absolute; top:100%; left:0; right:0; background:var(--paper-2); flex-direction:column; padding:18px 28px; border-bottom:1px solid var(--line); display:none; gap:16px;}
    #menu-toggle:checked ~ nav.links{display:flex;}
    .burger{display:block;}
    .nav-cta{display:none;}
  }

  /* ---- Section scaffolding ---- */
  section{padding:88px 0; border-bottom:1px solid var(--line);}
  section.tight{padding:64px 0;}
  .eyebrow{font-family:var(--sans); font-weight:600; color:var(--brass-deep); font-size:.85rem; margin-bottom:14px; letter-spacing:.01em;}
  .rule{width:56px; height:3px; background:var(--brass); margin:18px 0 28px;}
  .grid-2{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:start;}
  .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  @media (max-width:820px){ .grid-2, .grid-3{grid-template-columns:1fr;} }

  .card{background:var(--paper-2); border:1px solid var(--line); padding:28px 26px;}
  .card h3{font-size:1.15rem; margin-bottom:10px;}
  .card p{margin:0; font-size:.96rem;}

  .btn{display:inline-block; text-decoration:none; padding:13px 26px; border-radius:2px; font-weight:600; font-size:.95rem;}
  .btn-primary{background:var(--brass); color:#fff;}
  .btn-primary:hover{background:var(--brass-deep);}
  .btn-ghost{border:1px solid var(--ink); color:var(--ink);}
  .btn-ghost:hover{background:var(--ink); color:#fff;}
  .cta-row{display:flex; gap:16px; flex-wrap:wrap; margin-top:26px;}

  .placeholder{background:#EAF3EC; border:1px dashed var(--brass); color:var(--brass-deep); padding:2px 8px; font-family:var(--sans); font-size:.85em; border-radius:2px;}

  .list{margin:0; padding:0; list-style:none;}
  .list li{position:relative; padding-left:22px; margin-bottom:12px; color:var(--slate);}
  .list li::before{content:""; position:absolute; left:0; top:.55em; width:8px; height:1px; background:var(--brass);}

  .hero{padding:110px 0 90px; background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 60%,#E4E9EC 100%);}
  .hero h1{font-size:2.7rem; max-width:16ch;}
  @media (max-width:640px){ .hero h1{font-size:2rem;} }

  .stat-strip{display:flex; gap:40px; flex-wrap:wrap; margin-top:40px; padding-top:28px; border-top:1px solid var(--line);}
  .stat{font-family:var(--serif);}
  .stat b{display:block; font-size:1.5rem; color:var(--ink);}
  .stat span{font-family:var(--sans); font-size:.85rem; color:var(--slate);}

  .disclaimer{background:#EEF3F0; border-left:3px solid var(--slate); padding:18px 22px; font-size:.9rem; color:var(--slate); max-width:none;}

  .form-field{margin-bottom:18px;}
  .form-field label{display:block; font-size:.85rem; font-weight:600; color:var(--ink); margin-bottom:6px;}
  .form-field input, .form-field select, .form-field textarea{
    width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:2px;
    font-family:var(--sans); font-size:.95rem; color:var(--ink); background:var(--paper-2);
  }
  .form-field input:focus, .form-field select:focus, .form-field textarea:focus{
    outline:none; border-color:var(--brass);
  }
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  @media (max-width:640px){ .form-row{grid-template-columns:1fr;} }
  .form-submit{background:var(--brass); color:#fff; border:none; padding:13px 28px; border-radius:2px; font-weight:600; font-size:.95rem; cursor:pointer; font-family:var(--sans);}
  .form-submit:hover{background:var(--brass-deep);}
  .form-note{font-size:.8rem; color:var(--slate); margin-top:8px;}
  .form-success{background:#EAF3EC; border-left:3px solid var(--brass); color:var(--brass-deep); padding:14px 18px; margin-bottom:18px; font-size:.92rem; font-weight:600;}
  .form-error{background:#FBEEEC; border-left:3px solid #B3453D; color:#8C3A30; padding:14px 18px; margin-bottom:18px; font-size:.92rem; font-weight:600;}
  .form-field-error{display:block; color:#B3453D; font-size:.8rem; margin-top:5px; font-weight:600;}

  footer.site{background:var(--ink); color:#CBDDD5; padding:56px 0 28px;}
  footer.site h4{color:#fff; font-family:var(--sans); font-size:.95rem; margin-bottom:14px;}
  footer.site a{color:#CBDDD5; text-decoration:none; font-size:.92rem;}
  footer.site a:hover{color:var(--brass);}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px;}
  @media (max-width:820px){ .foot-grid{grid-template-columns:1fr 1fr;} }
  .foot-grid ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
  .foot-bottom{margin-top:44px; padding-top:22px; border-top:1px solid #1D4A44; font-size:.82rem; color:#8FAFA6; display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between;}

  .seo-note{font-size:.78rem; color:#8FA79E; font-style:italic; margin-top:6px;}
  .page-label{display:inline-block; background:var(--ink); color:#fff; font-size:.72rem; font-weight:600; padding:4px 10px; border-radius:2px; margin-bottom:18px;}
