:root{
  --pine:#33491d;
  --leaf:#6c8f3c;
  --lime:#b8d95c;      /* bright youthful pop pulled up from the leaf green */
  --mint:#eef4dd;
  --bark:#7a5433;
  --cream:#fdfcf6;
  --ink:#223013;
  --snow:#4f6b85;
  --snow-tint:#e3ecf5;
  --display:'Bricolage Grotesque',sans-serif;
  --body:'Karla',sans-serif;
  --shadow:6px 6px 0 var(--ink);
  --shadow-sm:4px 4px 0 var(--ink);
  --max:1100px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{font-family:var(--body);background:var(--cream);color:var(--ink);line-height:1.55;font-size:17px;overflow-x:hidden}
img{max-width:100%;display:block}
a:focus-visible,button:focus-visible{outline:3px solid var(--pine);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--display);line-height:1.05;color:var(--pine)}
h2{font-size:clamp(2rem,5vw,3rem);font-weight:800;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:.4em}
section{padding:80px 0}

/* ---------- sticker badge ---------- */
.sticker{display:inline-block;font-family:var(--display);font-weight:800;font-size:.85rem;
  text-transform:uppercase;letter-spacing:.04em;background:var(--lime);color:var(--ink);
  border:3px solid var(--ink);border-radius:999px;padding:8px 18px;box-shadow:var(--shadow-sm)}
.sticker.brown{background:var(--bark);color:#fff}
.sticker.blue{background:var(--snow);color:#fff}
.sticker.tilt-l{transform:rotate(-4deg)}
.sticker.tilt-r{transform:rotate(3deg)}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:60;background:var(--cream);border-bottom:3px solid var(--ink)}
.nav{display:flex;align-items:center;gap:18px;max-width:var(--max);margin:0 auto;padding:12px 24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);
  font-weight:800;font-size:1.1rem;color:var(--pine);text-transform:uppercase;letter-spacing:-.01em}
.brand img{height:46px}
.nav ul{display:flex;gap:6px;list-style:none;margin-left:auto;flex-wrap:wrap}
.nav ul a{text-decoration:none;color:var(--ink);font-weight:700;font-size:.92rem;padding:8px 14px;border-radius:999px;display:block}
.nav ul a:hover{background:var(--mint)}
.nav .cta{background:var(--pine);color:#fff!important;border:3px solid var(--ink);box-shadow:var(--shadow-sm)}
.nav .cta:hover{background:var(--leaf)}
/* mobile hamburger (CSS-only) */
.burger{display:none;margin-left:auto;cursor:pointer;font-family:var(--display);font-weight:800;
  font-size:1rem;text-transform:uppercase;background:var(--lime);border:3px solid var(--ink);
  border-radius:12px;padding:8px 14px;box-shadow:var(--shadow-sm);user-select:none}
#navtoggle{position:absolute;opacity:0;pointer-events:none}
@media(max-width:820px){
  .nav{flex-wrap:wrap}
  .burger{display:inline-block}
  .nav ul{display:none;flex-direction:column;width:100%;margin:12px 0 4px;gap:8px}
  .nav ul a{font-size:1.05rem;padding:12px 16px;background:var(--mint);text-align:center}
  .nav ul .cta{text-align:center}
  #navtoggle:checked ~ ul{display:flex}
  #navtoggle:focus-visible ~ .burger{outline:3px solid var(--pine);outline-offset:3px}
}

/* ---------- hero ---------- */
.hero{background:var(--mint);border-bottom:3px solid var(--ink);padding:70px 0 90px;position:relative}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(2.6rem,6.5vw,4.6rem);font-weight:800;text-transform:uppercase;letter-spacing:-.02em}
.hero h1 .hl{background:var(--lime);padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone;border-radius:6px}
.hero p.lede{font-size:1.15rem;margin:20px 0 30px;max-width:480px;font-weight:500}
.btn{display:inline-block;font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1rem;
  text-decoration:none;background:var(--pine);color:#fff;padding:16px 30px;border:3px solid var(--ink);
  border-radius:14px;box-shadow:var(--shadow);transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink)}
.btn.alt{background:var(--lime);color:var(--ink);margin-left:12px}
.heroshot{position:relative;text-align:center}
.heroshot img{width:min(380px,80vw);margin:0 auto;background:#fff;border:3px solid var(--ink);
  border-radius:24px;box-shadow:var(--shadow);padding:20px;transform:rotate(2deg)}
.heroshot .sticker{position:absolute}
.heroshot .s1{top:-14px;left:4%}
.heroshot .s2{bottom:-36px;right:2%}
@media(max-width:820px){.hero .wrap{grid-template-columns:1fr}.heroshot{margin-top:20px}}

/* ---------- marquee ---------- */
.marquee{background:var(--pine);border-bottom:3px solid var(--ink);overflow:hidden;padding:14px 0}
.marquee .track{display:flex;gap:0;width:max-content;animation:scroll 22s linear infinite}
.marquee span{font-family:var(--display);font-weight:800;text-transform:uppercase;color:var(--lime);
  font-size:1.05rem;letter-spacing:.06em;white-space:nowrap;padding:0 18px}
.marquee span::after{content:"✦";color:#fff;margin-left:36px}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee .track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}

/* ---------- services ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px;margin-top:40px}
.card{background:#fff;border:3px solid var(--ink);border-radius:18px;padding:28px 24px;
  box-shadow:var(--shadow);transition:transform .12s}
.card:hover{transform:translateY(-4px) rotate(-.5deg)}
.card .emoji{font-size:2rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;
  background:var(--mint);border:3px solid var(--ink);border-radius:12px;padding:10px;margin-bottom:14px}
.card .emoji svg{width:36px;height:36px;display:block}
.card h3{font-size:1.35rem;font-weight:800;text-transform:uppercase;margin-bottom:.4rem}
.card p{font-size:.95rem}
.card .freq{display:inline-block;margin-top:14px;font-size:.72rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;background:var(--lime);border:2px solid var(--ink);border-radius:999px;padding:4px 12px}
.card.winter{background:var(--snow-tint)}
.card.winter .emoji{background:#fff}
.card.winter .freq{background:var(--snow);color:#fff}

/* ---------- pricing ---------- */
#pricing{background:var(--lime);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
#pricing h2{color:var(--ink)}
.pricegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;margin-top:40px}
.price{background:var(--cream);border:3px solid var(--ink);border-radius:18px;padding:26px;box-shadow:var(--shadow)}
.price h3{font-size:1.1rem;font-weight:800;text-transform:uppercase}
.price .amt{font-family:var(--display);font-weight:800;font-size:2rem;color:var(--pine);margin:8px 0 4px}
.price p{font-size:.9rem}
.pricenote{margin-top:30px;text-align:center;font-weight:700}

/* ---------- seasons ---------- */
.seasonflex{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:40px}
.season{border:3px solid var(--ink);border-radius:18px;padding:34px 30px;box-shadow:var(--shadow)}
.season.summer{background:var(--pine);color:var(--cream)}
.season.summer h3{color:var(--lime)}
.season.winter{background:var(--snow);color:#fff}
.season.winter h3{color:#fff}
.season h3{font-size:1.6rem;font-weight:800;text-transform:uppercase}
.season .months{font-weight:800;letter-spacing:.15em;text-transform:uppercase;font-size:.75rem;opacity:.85;margin-bottom:14px}
.season ul{list-style:none}
.season li{padding:7px 0 7px 30px;position:relative;font-size:.97rem}
.season.summer li::before{content:"🌱";position:absolute;left:0}
.season.winter li::before{content:"❄️";position:absolute;left:0}
@media(max-width:700px){.seasonflex{grid-template-columns:1fr}}

/* ---------- crew ---------- */
#crew{background:var(--mint);border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.crewgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px;margin-top:40px}
.member{background:#fff;border:3px solid var(--ink);border-radius:18px;padding:30px 24px;text-align:center;box-shadow:var(--shadow)}
.member:nth-child(1){transform:rotate(-1.2deg)}
.member:nth-child(2){transform:rotate(.8deg)}
.member:nth-child(3){transform:rotate(-.6deg)}
.member .initial{width:78px;height:78px;border-radius:50%;background:var(--leaf);color:#fff;
  border:3px solid var(--ink);font-family:var(--display);font-weight:800;font-size:1.7rem;
  display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.member h3{font-size:1.2rem;font-weight:800}
.member p{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--bark);margin-top:4px}
.mission{max-width:640px;margin:40px auto 0;background:#fff;border:3px solid var(--ink);border-radius:18px;
  padding:26px 30px;text-align:center;box-shadow:var(--shadow);font-weight:500}
.mission strong{color:var(--bark)}

/* ---------- referral ---------- */
.referral{background:var(--bark);color:#fff;text-align:center;padding:36px 24px;border-bottom:3px solid var(--ink)}
.referral .big{font-family:var(--display);font-weight:800;font-size:clamp(1.3rem,3.5vw,1.9rem);text-transform:uppercase}

/* ---------- contact ---------- */
#contact{text-align:center}
#contact p{max-width:540px;margin:0 auto 30px;font-weight:500}
.email{margin-top:22px;font-family:var(--display);font-weight:700;font-size:clamp(1rem,2.6vw,1.3rem);word-break:break-all}
.email a{color:var(--pine)}

/* ---------- footer ---------- */
footer{background:var(--ink);color:var(--mint);text-align:center;padding:40px 24px;font-size:.92rem}
footer .name{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.15rem;
  color:var(--lime);margin-bottom:8px;letter-spacing:.04em}
footer a{color:var(--lime)}
