:root{
  /* Light + Airy base */
  --bg: #2a5541;          /* huntergreen */
  --surface: #ffffff;     /* cards, header */
  --surface2: #fbfbfc;    /* subtle variation */
  --text: #fbfbfc;        /* charcoal text */
  --muted: #fbfbfc;       /* secondary text */
  --line: rgba(27,31,34,.12);

  /* Maker Chip derived */
  --silver: #c3cbd3;
  --chipGray: #767778;
  --charcoal: #272627;

  /* Accent */
  --hunter: #1f3a2d;
  --hunter2: #2a5541;

  --shadow: 0 10px 26px rgba(20, 30, 25, .10);
  --radius: 18px;
  --max: 1150px;
  --gap: 16px;
}

body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  background: var(--bg);
  color: var(--text);
}

header{
  backdrop-filter: blur(8px);
}

.navlink{
  border: 1px solid var(--surface2);
  background: rgba(31,58,45,.06);
  color: var(--text);
  text-decoration: none;
}
.navlink:hover{
  background: rgba(31,58,45,.12);
  border-color: rgba(31,58,45,.35);
  text-decoration: none;
}

.hero{
  border: 1px solid var(--line);
  background: rgba(255,255,255,.80);
  box-shadow: var(--shadow);
}

.btn{
  border: 1px solid var(--line);
  background: rgba(255,255,255,.65);
}
.btn.primary{
  color: #fff;
  background: linear-gradient(135deg, var(--hunter2), var(--hunter));
  border-color: rgba(31,58,45,.35);
}

.heroCard{
  border: 1px solid var(--line);
  background:
    radial-gradient(300px 240px at 20% 30%, rgba(195,203,211,.35), transparent 60%),
    rgba(255,255,255,.88);
  width: 300px;
  margin-left: auto;
  margin-right: 0;
}

.carousel{
  border: 1px solid var(--line);
  background: rgba(255,255,255,.76);
  box-shadow: var(--shadow);
}

.card{
  border: 1px solid rgba(27,31,34,.10);
  background: rgba(255,255,255,.92);
}

.imgBox{
  background: rgba(195,203,211,.20);
}

/* Hover overlay tuned for light theme */
.overlay{
  background: linear-gradient(180deg, transparent 35%, rgba(31,58,45,.82) 100%);
}

.overlay .pill{
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.18);
  color: #fff;
}

.tag{
  border: 1px solid rgba(27,31,34,.12);
  background: rgba(195,203,211,.25);
  color: var(--text);
}

.arrow{
  color: #fff; 
  border: 1px solid rgba(27,31,34,.14);
  background: rgba(255,255,255,.78);
  box-shadow: 0 10px 20px rgba(20,30,25,.12);
  z-index: 2
}
.arrow:hover{
  background: rgba(31,58,45,.10);
  border-color: rgba(31,58,45,.35);
}

    *{ box-sizing:border-box; }
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
      background: var(--bg);
      color: var(--text);
    }
    a{ color: inherit; text-decoration: underline; }

    .wrap{
      max-width: var(--max);
      margin: 0 auto;
      padding: 28px 18px 48px;
    }

    /* Top bar */
    header{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 14px;
      padding: 14px 16px;
      backdrop-filter: blur(6px);
    }
    .brand{
      display:flex;
      align-items:center;
      gap: 12px;
      min-width: 0;
    }
    .brand .chip{
      width: 100px; height: 100px;
      border-radius: 14px;
      flex: 0 0 auto;
      overflow:hidden;
      display:grid; place-items:center;
    }
    .brand .chip img{
      width: 100%; height: 100%;
      object-fit: cover;
      display:block;
    }
    .brand h1{
      font-size: 16px;
      margin:0;
      letter-spacing:.2px;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .brand p{
      margin: 2px 0 0;
      font-size: 15px;
      color: var(--muted);
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    nav{
      display:flex;
      gap: 10px;
      flex-wrap: wrap;
      justify-content:flex-end;
    }
    .navlink{
      font-size: 13px;
      padding: 8px 10px;
      border-radius: 999px;
      border: 1px solid var(--surface2);
      background: rgba(255,255,255,.03);
    }
    .navlink:hover{
      background: rgba(42,85,65,.25);
      border-color: rgba(42,85,65,.6);
      border: 1px solid var(--surface2);
    }

    /* Hero */
    .hero{
      margin-top: 18px;
      padding: 22px 10px 22px 10px;
      border-radius: var(--radius);
      border: 1px solid var(--line);
      background:
        linear-gradient(180deg, rgba(16,23,20,.86), rgba(16,23,20,.72));
      box-shadow: var(--shadow);
      display:grid;
      grid-template-columns: 3fr 1fr;
      gap: 18px;
      align-items: center;
    }
    .hero h2{
      margin:0 0 8px;
      font-size: 28px;
      line-height: 1.15;
      letter-spacing: .2px;
    }
    .hero p{
      border: 1px solid var(--line)
      margin:0 0 14px;
      color: var(--muted);
      max-width: 400ch;
    }
    .ctaRow{
      display:flex;
      gap: 10px;
      flex-wrap: wrap;
    }
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.04);
      font-size: 13px;
      gap: 8px;
      text-decoration: none;
    }
    .btn.primary{
      background: linear-gradient(135deg, rgba(42,85,65,.95), rgba(31,58,45,.95));
      border-color: rgba(201,206,211,.25);
    }
    .btn:hover{
      transform: translateY(-1px);
      transition: transform .12s ease;
    }

    .heroCard{
      border-radius: var(--radius);
      border: 1px solid rgba(255,255,255,.12);
      background:
        radial-gradient(900px 240px at 20% 30%, rgba(201,206,211,.20), transparent 60%),
        linear-gradient(180deg, rgba(21,31,27,.92), rgba(16,23,20,.92));
      padding: 10px 10px 12px;
    }
    .heroCard .kicker{
      font-size: 12px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: rgba(201,206,211,.85);
      margin: 0 0 10px 10px;
    }
    .heroCard ul{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap: 10px;
    }
    .heroCard li{
      display:flex;
      gap: 10px;
      align-items:flex-start;
      color: var(--muted);
      font-size: 13px;
    }
    .dot{
      width: 10px; height: 10px;
      border-radius: 999px;
      margin-top: 4px;
      background: rgba(201,206,211,.65);
      border: 1px solid rgba(255,255,255,.12);
      flex:0 0 auto;
    }

    /* Section + carousel */
    section{
      margin-top: 22px;
    }
    .sectionHead{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap: 14px;
      margin: 10px 4px 10px;
    }
    .sectionHead h3{
      margin:0;
      font-size: 18px;
    }
    .sectionHead .sub{
      margin:0;
      font-size: 13px;
      color: var(--muted);
    }

    .carousel{
      position: relative;
      border-radius: var(--radius);
      border: 1px solid var(--line);
      background: rgba(16,23,20,.72);
      box-shadow: var(--shadow);
      overflow: hidden;
    }
    .trackWrap{
      overflow:hidden;
      padding: 14px;
    }
    .track{
      display:flex;
      gap: var(--gap);
      will-change: transform;
      transition: transform .28s ease;
    }

    /* Card width: 3 visible on desktop, 2 on tablet, 1 on mobile */
    .card{
      flex: 0 0 calc((100% - (var(--gap) * 2)) / 3);
      min-width: 240px;
      border-radius: 16px;
      border: 1px solid rgba(255,255,255,.10);
      background: linear-gradient(180deg, rgba(21,31,27,.88), rgba(16,23,20,.88));
      overflow:hidden;
      position: relative;
    }
    @media (max-width: 980px){
      .hero{ grid-template-columns: 1fr; }
      .card{ flex-basis: calc((100% - var(--gap)) / 2); }
    }
    @media (max-width: 640px){
      .card{ flex-basis: 100%; }
      nav{ justify-content:flex-start; }
    }

    .imgBox{
      position: relative;
      aspect-ratio: 16 / 10;
      background: rgba(255,255,255,.03);
      overflow:hidden;
    }
    .imgBox img{
      width: 100%;
      height: 100%;
      object-fit: cover;
      display:block;
      transform: scale(1.02);
    }

    /* Hover overlay */
    .overlay{
      position:absolute;
      inset:0;
      display:flex;
      flex-direction:column;
      justify-content:flex-end;
      padding: 12px;
      background:
        linear-gradient(180deg, transparent 40%, rgba(0,0,0,.70) 100%);
      opacity: 0;
      transition: opacity .18s ease;
    }
    .card:hover .overlay{ opacity: 1; }
    .overlay .desc{
      font-size: 13px;
      color: rgba(255,255,255,.92);
      margin: 0 0 10px;
    }
    .overlay .pill{
      align-self:flex-start;
      font-size: 12px;
      padding: 6px 9px;
      border-radius: 999px;
      border: 1px solid rgba(201,206,211,.22);
      background: rgba(42,85,65,.55);
      backdrop-filter: blur(4px);
    }

    .meta{
      padding: 10px 12px 12px;
      border-top: 1px solid rgba(255,255,255,.08);
      display:flex;
      flex-direction:column;
      gap: 6px;
    }
    .title{
      font-size: 14px;
      margin:0;
      color: var(--text);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 10px;
    }
    .tag{
      font-size: 12px;
      color: rgba(201,206,211,.86);
      border: 1px solid rgba(255,255,255,.10);
      background: rgba(255,255,255,.03);
      padding: 3px 8px;
      border-radius: 999px;
      white-space:nowrap;
      flex:0 0 auto;
    }
    .small{
      font-size: 12px;
      color: var(--muted);
      margin:0;
    }

    /* Arrows */
    .arrow{
      position:absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 38px;
      height: 38px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(11,15,13,.65);
      backdrop-filter: blur(6px);
      display:grid;
      place-items:center;
      cursor:pointer;
      user-select:none;
      box-shadow: 0 10px 20px rgba(0,0,0,.25);
    }
    .arrow:hover{
      background: rgba(42,85,65,.40);
      border-color: rgba(42,85,65,.65);
    }
    .arrow.left{ left: 10px; }
    .arrow.right{ right: 10px; }
    .arrow[aria-disabled="true"]{
      opacity: .35;
      pointer-events:none;
    }

    /* Footer */
    footer{
      margin-top: 26px;
      padding: 18px 8px 0;
      color: var(--muted);
      font-size: 12px;
      display:flex;
      justify-content:space-between;
      gap: 10px;
      flex-wrap: wrap;
    }
