/* ============================================================
   Bilby Bunch — brand.css
   Shared design tokens + base + components for all pages.
   ============================================================ */

/* ---- Fonts (also <link>ed in each page head for preload) ---- */

:root{
  /* — Brand palette (natural Australian) — */
  --euc-900:#16332c;   /* deepest eucalyptus */
  --euc-800:#1c3f37;
  --euc-700:#235247;
  --euc-600:#2e6e5e;   /* PRIMARY */
  --euc-500:#3a8473;
  --euc-300:#9cc8bc;
  --euc-100:#dbeee7;
  --euc-50 :#eef7f3;

  --ochre-700:#a86c22;
  --ochre-600:#c4862f;
  --ochre-500:#e3a24a;  /* ACCENT — wattle/sand */
  --ochre-300:#f0c684;
  --ochre-100:#f9ead0;
  --ochre-50 :#fcf4e4;

  --clay-600:#b85c39;
  --clay-500:#c96f4c;   /* warm pop — red earth */
  --clay-100:#f4ddd2;

  --blue-700:#5d6b7d;
  --blue-500:#8b97a6;   /* bilby blue-grey */
  --blue-100:#dfe4ea;

  /* — Neutrals (warm) — */
  --ink:#21332e;
  --ink-soft:#4f5e58;
  --ink-faint:#7b877f;
  --paper:#faf7f1;      /* page bg */
  --paper-2:#f4efe4;    /* alt section bg */
  --sand:#f2ead9;
  --card:#ffffff;
  --card-2:#fdfbf6;
  --border:#e7e2d5;
  --border-strong:#d8d2c2;

  /* — Type — */
  --font-display:"Bricolage Grotesque", ui-rounded, system-ui, sans-serif;
  --font-body:"Hanken Grotesk", system-ui, -apple-system, sans-serif;

  /* — Radius — */
  --r-xs:8px; --r-sm:12px; --r-md:18px; --r-lg:26px; --r-xl:36px; --r-pill:999px;

  /* — Shadow (soft, warm) — */
  --sh-sm:0 1px 2px rgba(33,51,46,.06), 0 2px 6px rgba(33,51,46,.05);
  --sh-md:0 4px 10px rgba(33,51,46,.07), 0 14px 30px rgba(33,51,46,.08);
  --sh-lg:0 10px 24px rgba(33,51,46,.10), 0 30px 60px rgba(33,51,46,.10);
  --sh-euc:0 14px 34px rgba(46,110,94,.22);

  /* — Layout — */
  --maxw:1180px;
  --gut:clamp(20px, 5vw, 56px);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:700;
  line-height:1.04;
  letter-spacing:-.02em;
  margin:0;
  color:var(--ink);
  text-wrap:balance;
}
h1{font-size:clamp(2.6rem, 6vw, 4.4rem);}
h2{font-size:clamp(2rem, 4vw, 3.1rem);}
h3{font-size:clamp(1.35rem, 2.4vw, 1.8rem);}
p{margin:0;text-wrap:pretty;}

.eyebrow{
  font-family:var(--font-body);
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--euc-600);
  display:inline-flex;align-items:center;gap:.55em;
}
.eyebrow.ochre{color:var(--ochre-700);}

/* ---- Layout helpers ---- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut);}
.wrap-tight{max-width:920px;margin-inline:auto;padding-inline:var(--gut);}
section{padding-block:clamp(64px, 9vw, 128px);}
.lede{font-size:clamp(1.1rem,1.6vw,1.32rem);color:var(--ink-soft);line-height:1.55;}

/* ---- Buttons ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--font-body);font-weight:700;font-size:1rem;
  padding:.85em 1.5em;border-radius:var(--r-pill);
  border:1.5px solid transparent;cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
  line-height:1;white-space:nowrap;
}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--euc-600);color:#fff;box-shadow:var(--sh-euc);}
.btn-primary:hover{background:var(--euc-700);transform:translateY(-2px);}
.btn-ochre{background:var(--ochre-500);color:var(--euc-900);box-shadow:0 12px 28px rgba(227,162,74,.32);}
.btn-ochre:hover{background:var(--ochre-600);transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--border-strong);}
.btn-ghost:hover{border-color:var(--euc-600);color:var(--euc-700);background:var(--euc-50);}
.btn-lg{padding:1.05em 1.9em;font-size:1.08rem;}
.btn-sm{padding:.6em 1.05em;font-size:.9rem;}

/* ---- Logo lockup ---- */
.logo{display:inline-flex;align-items:center;gap:.55em;}
.logo svg, .logo img{width:38px;height:38px;flex:none;}
.logo .word{
  font-family:var(--font-display);font-weight:800;letter-spacing:-.02em;
  font-size:1.42rem;color:var(--ink);line-height:1;white-space:nowrap;
}
.logo .word b{color:var(--euc-600);font-weight:800;}

/* ---- Top nav ---- */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb, var(--paper) 86%, transparent);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;
  height:72px;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut);}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a{font-weight:600;font-size:.97rem;color:var(--ink-soft);transition:color .15s;}
.nav-links a:hover{color:var(--euc-700);}
.nav-cta{display:flex;align-items:center;gap:12px;}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;color:var(--ink);}
@media(max-width:880px){
  .nav-links{display:none;}
  .nav-cta .btn-ghost{display:none;}
  .nav-toggle{display:block;}
  .nav.open .nav-links{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;
    background:var(--paper);border-bottom:1px solid var(--border);padding:18px var(--gut) 26px;gap:18px;}
}

/* ---- Footer ---- */
.footer{background:var(--euc-900);color:#cfe0d9;padding-block:64px 40px;}
.footer .wrap{display:grid;gap:40px;}
.footer-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;}
.footer h4{color:#fff;font-family:var(--font-body);font-weight:700;font-size:.95rem;
  letter-spacing:.04em;margin-bottom:16px;}
.footer a{display:block;color:#a7c2b8;font-size:.95rem;padding:5px 0;transition:color .15s;}
.footer a:hover{color:#fff;}
.footer .logo .word{color:#fff;}
.footer .logo .word b{color:var(--ochre-500);}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;
  border-top:1px solid rgba(255,255,255,.12);padding-top:24px;font-size:.86rem;color:#86a297;}
@media(max-width:760px){.footer-top{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.footer-top{grid-template-columns:1fr;}}

/* ---- Cards & chips ---- */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);
  box-shadow:var(--sh-sm);}
.chip{display:inline-flex;align-items:center;gap:.5em;font-size:.82rem;font-weight:700;white-space:nowrap;
  padding:.4em .85em;border-radius:var(--r-pill);background:var(--euc-50);color:var(--euc-700);
  border:1px solid var(--euc-100);}
.chip.soon{background:var(--ochre-50);color:var(--ochre-700);border-color:var(--ochre-100);}
.chip.live{background:var(--euc-600);color:#fff;border-color:var(--euc-600);}

/* utility */
.center{text-align:center;}
.mx-auto{margin-inline:auto;}
.muted{color:var(--ink-soft);}
.grain{position:relative;}
