/* ==========================================================================
   Monkeyland Theme v2
   Separate, reusable CSS with improved nav and asymmetric Feature grid
   ========================================================================== */

/* ---------- Brand Variables ---------- */
:root{
  --ml-ink:#070706;
  --ml-black:#000000;
  --ml-bg:#E3DDD3;
  --ml-green:#1C8564;
  --ml-green-dk:#256E56;
  --ml-banana:#F3BB31;
  --ml-brown:#8E5B47;
  --ml-peach:#E8C6B3;
  --radius:16px;
  --radius-xl:20px;
  --shadow:0 10px 30px rgba(7,7,6,.14);
}

/* ---------- Base Reset ---------- */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
img{max-width:100%;height:auto;display:block}

/* ---------- Base Typography & Colors ---------- */
body{
  background:var(--ml-bg);
  color:var(--ml-ink);
  font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--ml-green);text-decoration:none}
a:hover{color:var(--ml-green-dk)}
.ml-bg{background:var(--ml-bg);color:var(--ml-ink)}

/* ---------- Utilities ---------- */
.container{max-width:1150px;margin:0 auto;padding:0 18px}
.section{padding:56px 0}
.h1{margin:0 0 8px;font-size:clamp(30px,4.2vw,46px);font-weight:900;line-height:1.1;letter-spacing:.1px}
.h2{margin:0 0 20px;font-size:clamp(22px,3.2vw,34px);font-weight:800}
.lead{color:#24423a}
@media (max-width:900px){ .section{padding:42px 0} }

/* ---------- Skip link: invisible until keyboard focus ---------- */
.skip{
  position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;
}
.skip:focus{
  position:fixed;left:16px;top:14px;width:auto;height:auto;z-index:1000;
  background:var(--ml-banana);color:var(--ml-ink);padding:8px 12px;border-radius:10px;
  box-shadow:0 2px 8px rgba(0,0,0,.2);
}

/* ---------- Header / Nav ---------- */
.site-header{
  background:var(--ml-ink);
  color:#fff;
  border-bottom:4px solid var(--ml-green);
}
.is-sticky{position:sticky;top:0;z-index:500}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;color:#fff}
.brand .logo{width:40px;height:40px;border-radius:12px;background:#ffffff18;display:grid;place-items:center;overflow:hidden}
.brand .name{font-weight:800;letter-spacing:.2px}

/* Menu with underline animation */
.menu{display:flex;align-items:center;gap:22px}
.navlink{position:relative;color:#fff;font-weight:700}
.navlink span{position:relative;z-index:1}
.navlink::after{
  content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--ml-banana);
  transition:width .18s ease-in-out;
}
.navlink:hover::after{width:100%}

/* CTA button at end of nav */
.cta{
  background:var(--ml-banana);color:var(--ml-ink);
  border:2px solid var(--ml-ink);padding:.5rem .9rem;border-radius:12px;font-weight:800
}
.cta:hover{filter:brightness(.95)}

.burger{display:none;background:transparent;border:0;color:#fff;font-size:26px;cursor:pointer}
@media (max-width:860px){
  .menu{display:none}
  .menu.open{display:flex;flex-direction:column;align-items:flex-start;padding:10px 0}
  .burger{display:block}
  .nav{flex-wrap:wrap}
}

/* ---------- Hero ---------- */
.hero{
  color:#fff;border-bottom:1px solid #0002;
  background-image:
    radial-gradient(1200px 420px at 70% -10%, rgba(28,133,100,.30), transparent),
    linear-gradient(180deg, #2a3b33 0%, #1b2722 100%);
}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;padding:54px 0}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr} }
.hero .lead{color:#e9f4f0}
.hero-actions{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap}
.hero-img{border-radius:var(--radius-xl);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.12)}

/* ---------- Buttons ---------- */
.btn{
  background:var(--ml-green);color:#fff;border:2px solid var(--ml-green-dk);
  padding:.72rem 1rem;font-weight:800;border-radius:12px;display:inline-block
}
.btn:hover{background:var(--ml-green-dk)}
.btn-banana{background:var(--ml-banana);color:var(--ml-ink);border-color:var(--ml-ink)}
.btn-banana:hover{filter:brightness(.95)}

/* ---------- Cards and Feature Grid ---------- */
.card{
  background:#ffffffE6;border:1px solid #00000022;border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column
}
.card-link{display:flex;flex-direction:column;height:100%;color:inherit}
.card-media{aspect-ratio:16/9;object-fit:cover;width:100%;background:#fff}
.card-body{padding:12px}
.card-title{margin:2px 0 6px;font-size:1.12rem;font-weight:900}
.card-text{margin:0;color:#38433f}

/* Asymmetric layout: one big, one tall, two standard */
.feature-grid{
  display:grid;gap:18px;
  grid-template-columns:2fr 1fr;grid-auto-rows:1fr;
  grid-template-areas:
    "xl tall"
    "xl std1"
    "std2 std1";
}
.card-xl{grid-area:xl}
.card-tall{grid-area:tall}
.feature-grid > .card:nth-of-type(3){grid-area:std1}
.feature-grid > .card:nth-of-type(4){grid-area:std2}

@media (max-width:900px){
  .feature-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "xl"
      "tall"
      "std1"
      "std2";
  }
  .card-media{aspect-ratio:4/3}
}

/* ---------- Footer ---------- */
.site-footer{
  background:var(--ml-ink);color:#fff;border-top:4px solid var(--ml-green);
}
.footer-inner{
  display:flex;gap:12px;align-items:center;justify-content:space-between;
  padding:16px 0;font-size:.95rem
}
.footer-inner a{color:#fff}
.footer-inner a:hover{color:var(--ml-banana)}
@media (max-width:800px){ .footer-inner{flex-direction:column;align-items:flex-start} }

