:root{
    --green:#14332A;
    --green-deep:#0A1F19;
    --brass:#B4914B;
    --brass-light:#D9BD84;
    --ivory:#F7F5F0;
    --white:#FFFFFF;
    --stone:#6B6B63;
    --ink:#242420;
    --line:#E4E0D6;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family: Arial, Helvetica, sans-serif;
    color:var(--ink);
    background:var(--ivory);
    line-height:1.6;
  }
  h1,h2,h3,.serif{ font-family: Georgia, 'Times New Roman', serif; font-weight:400; color:var(--green); }
  a{ color:inherit; text-decoration:none; }
  img,svg{ display:block; max-width:100%; }
  button{ font-family:inherit; cursor:pointer; }
  .wrap{ max-width:1120px; margin:0 auto; padding:0 32px; }
  .eyebrow{ font-size:12.3px; letter-spacing:3px; text-transform:uppercase; color:var(--brass); font-weight:bold; margin-bottom:14px; }
  .rule{ width:56px; height:2px; background:var(--brass); margin:20px 0; }
  .rule.center{ margin:20px auto; }

  /* ===== Focus visibility ===== */
  a:focus-visible, button:focus-visible{ outline:2px solid var(--brass); outline-offset:3px; }

  /* ===== NAV ===== */
  header.site-nav{
    position:sticky; top:0; z-index:50;
    background:rgba(247,245,240,0.94);
    backdrop-filter: blur(6px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{ display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:1120px; margin:0 auto; }
  .brand-lockup{ display:flex; align-items:center; gap:10px; }
  .brand-lockup svg{ width:30px; height:30px; }
  .brand-name{ font-family:Georgia,serif; font-size:19px; letter-spacing:1px; color:var(--green); }
  nav.links{ display:flex; align-items:center; gap:30px; }
  nav.links .navlink{
    background:none; border:none; font-size:14.6px; letter-spacing:0.5px; color:var(--stone);
    padding:6px 0; border-bottom:2px solid transparent; transition:color .2s, border-color .2s;
  }
  nav.links .navlink:hover{ color:var(--green); }
  nav.links .navlink.active{ color:var(--green); border-color:var(--brass); font-weight:bold; }
  .cta-btn{
    display:inline-block; cursor:pointer; text-decoration:none; text-align:center;
    background:var(--green); color:var(--ivory); font-size:14.6px; letter-spacing:0.5px;
    padding:11px 22px; border-radius:3px; border:none; transition:background .2s;
  }
  .cta-btn:hover{ background:var(--green-deep); }
  .cta-btn.brass{ background:var(--brass); color:var(--green-deep); }
  .cta-btn.brass:hover{ background:var(--brass-light); }
  .mobile-toggle{ display:none; background:none; border:none; font-size:24.6px; color:var(--green); }

  /* ===== HERO / horizon signature ===== */
  .hero{ position:relative; background:var(--green); color:var(--ivory); overflow:hidden; }
  .horizon{ position:absolute; left:0; right:0; bottom:0; width:100%; height:auto; opacity:0.9; }
  .hero-inner{ position:relative; z-index:2; padding:120px 32px 220px; max-width:760px; margin:0 auto; text-align:center; }
  .hero h1{ color:var(--ivory); font-size:51.5px; line-height:1.2; margin-bottom:20px; }
  .hero p.lede{ font-size:17.9px; color:#D8D3C4; max-width:520px; margin:0 auto 34px; }
  .hero .cta-row{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
  .sun-line{ stroke:var(--brass); stroke-width:2; opacity:0.85; }

  @media (prefers-reduced-motion: no-preference){
    .glow{ animation: glowpulse 6s ease-in-out infinite; }
  }
  @keyframes glowpulse{
    0%,100%{ opacity:0.55; }
    50%{ opacity:0.95; }
  }

  /* ===== Section rhythm ===== */
  section{ padding:88px 0; }
  section.ivory{ background:var(--ivory); }
  section.white{ background:var(--white); }
  section.green{ background:var(--green); color:var(--ivory); }
  section.green h2{ color:var(--ivory); }
  section.green .eyebrow{ color:var(--brass-light); }

  h2.section-title{ font-size:33.6px; margin-bottom:8px; }
  p.section-sub{ color:var(--stone); max-width:620px; font-size:16.2px; }
  section.green p.section-sub{ color:#C9C4B4; }

  /* ===== Cards ===== */
  .grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:40px; }
  .grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:40px; }
  .grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
  .card{
    background:var(--white); border:1px solid var(--line); border-radius:6px;
    padding:28px 24px; transition:transform .18s, box-shadow .18s;
  }
  .card:hover{ transform:translateY(-3px); box-shadow:0 12px 28px rgba(20,51,42,0.08); }
  .card .icon{ width:38px; height:38px; margin-bottom:16px; }
  .card h3{ font-size:17.9px; margin-bottom:8px; letter-spacing:0.3px; }
  .card p{ font-size:15.1px; color:var(--stone); }

  /* ===== Process steps ===== */
  .steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; margin-top:44px; }
  .step{ position:relative; padding-left:0; }
  .step .num{ font-family:Georgia,serif; font-size:41.4px; color:var(--brass); margin-bottom:10px; line-height:1; }
  .step h3{ font-size:20.2px; margin-bottom:8px; text-transform:none; letter-spacing:0; }
  .step p{ font-size:16.8px; color:var(--stone); text-transform:none; letter-spacing:0; }
  section.green h3{ color:var(--ivory); }
  section.green .step p{ color:#C9C4B4; }
  @media (max-width:900px){
    .steps{ grid-template-columns:repeat(2,1fr); gap:34px; }
  }

  /* ===== Quote block ===== */
  .quote-block{ background:var(--ivory); border-left:3px solid var(--brass); padding:30px 34px; max-width:640px; margin:36px auto 0; }
  .quote-block p{ font-family:Georgia,serif; font-style:italic; font-size:20.2px; color:var(--green); line-height:1.6; }
  section.green .quote-block{ background:rgba(255,255,255,0.05); }
  section.green .quote-block p{ color:var(--ivory); }

  /* ===== Values grid (About) ===== */
  .values-grid{ display:grid; grid-template-columns:1fr 1fr; gap:34px 50px; margin-top:40px; }
  .value h3{ font-size:16.8px; letter-spacing:1px; margin-bottom:8px; }
  .value p{ font-size:15.1px; color:var(--stone); }

  /* ===== Funding detail rows ===== */
  .fund-row{ display:grid; grid-template-columns:180px 1fr; gap:40px; padding:40px 0; border-bottom:1px solid var(--line); align-items:start; }
  .fund-row:last-child{ border-bottom:none; }
  .fund-row .tag{ font-family:Georgia,serif; font-size:22.4px; color:var(--brass); }
  .fund-row h3{ font-size:22.4px; margin-bottom:10px; }
  .fund-row p{ font-size:15.7px; color:var(--stone); max-width:600px; }

  /* ===== Contact ===== */
  .contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:40px; }
  .field{ margin-bottom:18px; }
  .field label{ display:block; font-size:13.4px; letter-spacing:0.5px; color:var(--stone); margin-bottom:6px; text-transform:uppercase; }
  .field input, .field select, .field textarea{
    width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:3px;
    font-family:Arial, sans-serif; font-size:15.7px; background:var(--white); color:var(--ink);
  }
  .field textarea{ min-height:100px; resize:vertical; }
  .field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--brass); }
  .contact-info h3{ font-size:16.8px; margin-bottom:6px; }
  .contact-info p{ font-size:15.7px; color:var(--stone); margin-bottom:22px; }
  .contact-info .row{ display:flex; align-items:center; gap:10px; margin-bottom:10px; font-size:15.7px; }

  /* ===== Footer ===== */
  footer{ background:var(--green-deep); color:#CFC9BC; padding:56px 0 28px; }
  .footer-top{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:40px; margin-bottom:40px; }
  .footer-brand{ display:flex; align-items:center; gap:10px; }
  .footer-brand svg{ width:28px; height:28px; }
  .footer-brand span{ font-family:Georgia,serif; color:var(--ivory); font-size:17.9px; }
  .footer-tagline{ font-family:Georgia,serif; font-style:italic; color:var(--brass); font-size:14.6px; margin-top:8px; }
  .footer-links{ display:flex; align-items:center; gap:30px; flex-wrap:wrap; }
  .footer-links a{ font-size:14.6px; color:#CFC9BC; }
  .footer-links a:hover{ color:var(--brass); }
  .footer-bottom{ border-top:1px solid rgba(255,255,255,0.08); padding-top:24px; font-size:12.9px; color:#8f8a7c; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }

  /* ===== Page visibility ===== */
  .page{ display:block; }

  /* ===== Responsive ===== */
  @media (max-width: 860px){
    nav.links{ display:none; }
    .mobile-toggle{ display:block; }
    .grid-4{ grid-template-columns:1fr 1fr; }
    .grid-3{ grid-template-columns:1fr; }
    .grid-2, .values-grid, .contact-grid{ grid-template-columns:1fr; }
    .steps{ grid-template-columns:1fr; }
    .fund-row{ grid-template-columns:1fr; gap:12px; }
    .hero h1{ font-size:35.8px; }
  }
  @media (max-width: 860px){
    nav.links.mobile-open{
      display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0;
      background:var(--ivory); padding:20px 32px; border-bottom:1px solid var(--line); gap:16px;
    }
  }


  /* ===== credential strip ===== */
  .creds{ background:var(--green-deep); color:var(--brass-light); text-align:center;
    padding:10px 20px; font-size:12.6px; letter-spacing:2px; text-transform:uppercase; }
  .creds span{ white-space:nowrap; }
  .creds i{ color:var(--brass); font-style:normal; padding:0 10px; }
  @media (max-width:520px){ .creds{ font-size:10.6px; letter-spacing:1px; } }

  /* ===== comparison table ===== */
  .table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
  table.compare{ width:100%; border-collapse:collapse; min-width:680px; background:var(--white); }
  table.compare th{
    text-align:left; font-family:Arial,Helvetica,sans-serif; font-size:11.6px; letter-spacing:1.6px;
    text-transform:uppercase; color:var(--stone); font-weight:bold;
    padding:14px 16px; border-bottom:2px solid var(--brass); vertical-align:bottom;
  }
  table.compare td{
    padding:18px 16px; border-bottom:1px solid var(--line); font-size:14.4px;
    vertical-align:top; line-height:1.55;
  }
  table.compare tr:last-child td{ border-bottom:none; }
  table.compare td strong{ color:var(--green); font-family:Georgia,serif; font-size:16px; font-weight:normal; }

  /* ===== faq ===== */
  .faq{ max-width:760px; }
  .faq-item{ padding:22px 0; border-bottom:1px solid var(--line); }
  .faq-item:last-child{ border-bottom:none; }
  .faq-item h3{ font-size:19.4px; margin-bottom:10px; }
  .faq-item p{ color:var(--stone); margin:0; }

  /* ===== footer badge ===== */
  .footer-bottom-right{ display:flex; align-items:center; gap:20px; margin-left:auto; }
  .vob-badge{ width:64px; height:auto; display:block; }
  @media (max-width:760px){
    .footer-bottom-right{ margin-left:0; width:100%; justify-content:space-between; }
    .vob-badge{ width:58px; }
  }

  /* ===== partner stats ===== */
  .stat-block{ border-left:2px solid var(--brass); padding-left:20px; }
  .stat-figure{ font-family:Georgia,serif; font-size:42px; color:var(--brass-light); line-height:1.1; margin-bottom:8px; }
  .stat-label{ font-size:14.4px; color:#C9C4B4; line-height:1.5; }
  @media (max-width:760px){
    .stat-figure{ font-size:36px; }
  }
