/*
  Geo Adventures Kenya — Design Tokens
  Palette and type carried over from the original site design.
*/
:root{
  /* colour */
  --green-900:#3a6626;
  --green-700:#41722c;
  --green-600:#63ab45;
  --green-100:#d5f1c9;
  --green-50:#f4faf1;
  --amber-600:#f7921e;
  --amber-700:#a57136;
  --amber-800:#8a551a;
  --ink-900:#0c121d;
  --ink-700:#333333;
  --ink-500:#666666;
  --ink-300:#999999;
  --paper:#ffffff;
  --paper-dim:#fafafa;
  --line:#e7e7e7;
  --line-soft:#d5f1c9;
  --danger:#c0392b;
  --shadow:0 10px 30px rgba(12,18,29,.08);

  /* type */
  --font-display:"Libre Baskerville", Georgia, serif;
  --font-body:"Nunito Sans", -apple-system, Segoe UI, sans-serif;
  --font-script:"Kaushan Script", cursive;

  --fs-60:3.4rem;
  --fs-40:2.2rem;
  --fs-28:1.65rem;
  --fs-20:1.2rem;
  --fs-16:1rem;
  --fs-14:.875rem;
  --fs-12:.75rem;

  /* layout */
  --container:1200px;
  --gap:1.5rem;
  --radius-sm:4px;
  --radius-md:10px;
  --radius-lg:20px;
  --header-h:64px;
  --topbar-h:38px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--fs-16);
  color:var(--ink-700);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;font-size:var(--fs-16);}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-display);
  color:var(--ink-900);
  margin:0 0 .5em;
  line-height:1.25;
}
h1{font-size:var(--fs-60);}
h2{font-size:var(--fs-40);}
h3{font-size:var(--fs-28);}
h4{font-size:var(--fs-20);}
p{margin:0 0 1em;}
.script{font-family:var(--font-script);color:var(--amber-700);font-size:1.4rem;}

.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 1.25rem;
}
.section{padding:4.5rem 0;}
.section-tight{padding:2.5rem 0;}
.grid{display:grid;gap:var(--gap);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.flex{display:flex;}
.flex-between{display:flex;align-items:center;justify-content:space-between;}
.flex-center{display:flex;align-items:center;justify-content:center;}
.flex-wrap{flex-wrap:wrap;}
.gap-sm{gap:.6rem;}
.gap-md{gap:1.25rem;}
.text-center{text-align:center;}
.muted{color:var(--ink-500);}
.eyebrow{
  color:var(--green-600);
  font-weight:700;
  letter-spacing:.02em;
}
.divider-line{
  width:60px;height:3px;background:var(--amber-600);border:0;margin:.75rem 0 1.25rem;
}
.visually-hidden{
  position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;
}
:focus-visible{outline:3px solid var(--amber-600);outline-offset:2px;}

@media (max-width: 991px){
  h1{font-size:2.4rem;}
  h2{font-size:1.8rem;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 640px){
  .section{padding:3rem 0;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;}
}
