[
  {
    "id": "wolf",
    "clade_id": "canidae",
    "name": "Wolf-Folk",
    "description": "\"The apex of the Canid line. Big bodies, bigger presence. Every room they enter gets smaller.\"\n\nBroad-shouldered, heavy-boned, thick through chest and thigh. Dense double-coat in timber grey to midnight black, tawny brown to arctic white; tall triangular ears; expressive tail whose carriage telegraphs status reflexively.",
    "size": "medium_large",
    "ability_mods": { "STR": 1 },
    "base_speed_ft": 30,
    "traits": [
      { "id": "jaws_of_the_alpha",     "name": "Jaws of the Alpha",     "description": "Unarmed bite deals 1d8 + STR piercing (1d10 at level 5, 1d12 at level 11). On crit, target makes a STR save (DC = 8 + prof + STR) or is grappled." },
      { "id": "tireless_pursuit",      "name": "Tireless Pursuit",      "description": "Forced march for additional CON-mod hours before exhaustion. Advantage on CON checks vs. exhaustion from prolonged activity." },
      { "id": "howl",                  "name": "Howl",                  "description": "Action: territorial howl audible to 1 mile. Allied Canidae who hear gain advantage on next attack roll or save within 1 minute. Once per long rest." }
    ],
    "detriments": [
      { "id": "dominance_reflex",      "name": "Dominance Reflex",      "description": "When publicly challenged, WIS save (DC 12) or compelled to respond with aggression or dominance display." },
      { "id": "heavy_frame",           "name": "Heavy Frame",           "description": "Disadvantage on DEX (Stealth) checks in enclosed or quiet environments." }
    ]
  },
  {
    "id": "fox",
    "clade_id": "canidae",
    "name": "Fox-Folk",
    "description": "\"Smaller, quicker, cleverer — and never, ever forgetting that the wolves looked down on them for it.\"\n\nLean, narrow-framed, built for speed and agility over power. Typically red-orange with cream underbelly and black stockings, but silver, cross, marble, and arctic white morphs are common. Signature bushy white-tipped tail.",
    "size": "medium",
    "ability_mods": { "DEX": 1 },
    "base_speed_ft": 35,
    "traits": [
      { "id": "vulpine_agility",       "name": "Vulpine Agility",       "description": "Base speed 35 ft. Move through the space of any creature one size larger without penalty." },
      { "id": "clever_paws",           "name": "Clever Paws",           "description": "Proficiency with Thieves' Tools and one additional tool of choice." },
      { "id": "tricksters_mask",       "name": "Trickster's Mask",      "description": "Advantage on CHA (Deception) checks. Once per long rest, suppress natural scent for 1 hour, imposing disadvantage on tracking and identification by smell." }
    ],
    "detriments": [
      { "id": "fragile_frame",         "name": "Fragile Frame",         "description": "Hit point maximum reduced by 1 per level (minimum 1 HP per level)." },
      { "id": "canid_prejudice",       "name": "Canid Prejudice",       "description": "Disadvantage on CHA (Persuasion) against wolf-folk until competence has been demonstrated to that individual." }
    ]
  },
  {
    "id": "coyote",
    "clade_id": "canidae",
    "name": "Coyote-Folk",
    "description": "\"Adaptable. Resourceful. Everywhere you don't want them and thriving anyway.\"\n\nWiry and rangy — built like they survive on scraps and spite. Grizzled tawny-grey, sometimes sandy brown or dusty red. Lean musculature, narrow muzzle, unsettlingly direct yellow-gold gaze.",
    "size": "medium",
    "ability_mods": { "CHA": 1 },
    "base_speed_ft": 30,
    "traits": [
      { "id": "urban_adaptation",      "name": "Urban Adaptation",      "description": "Proficiency in Survival in urban environments. Find food, water, and shelter in any settlement within 1 hour. Advantage on checks to navigate sewers, rooftops, and alleys." },
      { "id": "scavengers_stomach",    "name": "Scavenger's Stomach",   "description": "Advantage on CON saves vs. ingested poisons and disease from spoiled food. Subsist on half the normal food and water requirements." },
      { "id": "opportunist",           "name": "Opportunist",           "description": "Reaction: when a creature within 5 ft. is hit by an ally's attack, make a single melee attack against that creature. Uses equal to proficiency bonus per long rest." }
    ],
    "detriments": [
      { "id": "distrusted",            "name": "Distrusted",            "description": "Disadvantage on CHA checks to establish trust with strangers from established institutions (merchants' guilds, noble houses, military)." },
      { "id": "restless_blood",        "name": "Restless Blood",        "description": "Disadvantage on checks or saves involving long-duration waiting, stakeouts, or monotonous tasks." }
    ]
  },
  {
    "id": "lion",
    "clade_id": "felidae",
    "name": "Lion-Folk",
    "description": "\"The only Felidae who learned to be social — and they never let anyone forget they're still cats.\"\n\nPowerfully built, broad through chest and shoulder. Short tawny-gold to warm brown fur. Males sport manes ranging tawny gold to deep brown-black, framing the face and shielding the throat; the gaze of something that has never been prey.",
    "size": "medium_large",
    "ability_mods": { "STR": 1 },
    "base_speed_ft": 30,
    "traits": [
      { "id": "commanding_presence",   "name": "Commanding Presence",   "description": "Proficiency in Intimidation (expertise if already proficient). When intimidating, may roar — creatures within 15 ft. who hear it make a WIS save (DC = 8 + prof + CHA) or are frightened until end of next turn. Once per short rest." },
      { "id": "pride_fighter",         "name": "Pride Fighter",         "description": "Lion-folk can both grant and benefit from flanking. When you and an ally are adjacent to the same enemy, both gain +2 to attack rolls against that enemy." }
    ],
    "detriments": [
      { "id": "territorial_ego",       "name": "Territorial Ego",       "description": "Disadvantage on CHA (Persuasion) when negotiating shared resources, territory, or leadership positions." },
      { "id": "heat_lethargy",         "name": "Heat Lethargy",         "description": "In temperatures above 90°F, CON save (DC 10) every hour of strenuous activity or gain a level of exhaustion." }
    ],
    "variant_axis": "sex",
    "variants": [
      {
        "id": "male",
        "name": "Maned",
        "traits": [
          { "id": "mane_guard",          "name": "Mane Guard",          "description": "+1 AC against attacks targeting the neck or throat. The mane is armor that grew there on its own." }
        ],
        "detriments": []
      },
      {
        "id": "female",
        "name": "Maneless",
        "traits": [
          { "id": "huntress_reflexes",   "name": "Huntress Reflexes",   "description": "Base speed +5 ft. Advantage on initiative rolls. Lionesses do the hunting in the pride for a reason." }
        ],
        "detriments": []
      }
    ]
  },
  {
    "id": "leopard",
    "clade_id": "felidae",
    "name": "Leopard-Folk",
    "description": "\"You won't hear them. You won't see them. And then it's too late for either.\"\n\nLean, densely muscled, compact — every ounce of weight is functional. Golden-yellow to tawny with distinctive black rosettes (melanistic individuals all-black). Powerful shoulders for climbing and grappling.",
    "size": "medium",
    "ability_mods": { "DEX": 1 },
    "base_speed_ft": 30,
    "traits": [
      { "id": "ambush_predator",       "name": "Ambush Predator",       "description": "Attacking a creature that hasn't acted yet in combat or is unaware deals +1d6 damage on the first hit (+2d6 at level 9)." },
      { "id": "arboreal_hunter",       "name": "Arboreal Hunter",       "description": "Climb speed equal to walking speed. Advantage on Athletics checks to climb. Move at full speed while climbing without penalty." },
      { "id": "shadow_pelt",           "name": "Shadow Pelt",           "description": "Advantage on Stealth checks in dim light or darkness." }
    ],
    "detriments": [
      { "id": "lone_operator",         "name": "Lone Operator",         "description": "Disadvantage on group skill checks (coordinated efforts, team athletics, group stealth)." },
      { "id": "trigger_reflexes",      "name": "Trigger Reflexes",      "description": "When surprised by sudden movement within 5 ft., WIS save (DC 10) or reflexively lash out with a claw attack against the triggering creature." }
    ]
  },
  {
    "id": "housecat",
    "clade_id": "felidae",
    "name": "Housecat-Folk",
    "description": "\"Small. Overlooked. Absolutely lethal in ways you'll never trace back to them.\"\n\nFine-boned and quick, built for spaces no one else fits into. Enormous coat variety — tabby, calico, solid, tuxedo, tortoiseshell, pointed. Extremely flexible spine; can fit through any opening their skull will pass.",
    "size": "small",
    "ability_mods": { "INT": 1 },
    "base_speed_ft": 30,
    "traits": [
      { "id": "unassuming",            "name": "Unassuming",            "description": "Advantage on Stealth in social settings (crowds, parties, meetings). Advantage on the first Deception check in any social encounter with a new creature." },
      { "id": "tight_spaces",          "name": "Tight Spaces",          "description": "Squeeze through openings sized for Tiny creatures without penalty. Advantage on checks to escape grapples and restraints." },
      { "id": "nine_lives",            "name": "Nine Lives",            "description": "When reduced to 0 HP, can choose to drop to 1 HP instead. Once per long rest." }
    ],
    "detriments": [
      { "id": "size_matters",          "name": "Size Matters",          "description": "Disadvantage on STR checks and saves against creatures two or more sizes larger. Carrying capacity halved. Heavy weapons cannot be used effectively." },
      { "id": "compulsive_curiosity",  "name": "Compulsive Curiosity",  "description": "When presented with a mystery, hidden space, or unknown object out of combat, WIS save (DC 12) or spend at least one action investigating." }
    ]
  },
  {
    "id": "ferret",
    "clade_id": "mustelidae",
    "name": "Ferret-Folk",
    "description": "\"Charming, manic, and fundamentally incapable of leaving anything alone.\"\n\nLong-bodied and slinky, built like the skeleton is a suggestion. Sable, albino, champagne, silver, dark-eyed white; mask-face markings common. The whole body moves like a sine wave; sweet-musky scent fills a room.",
    "size": "small",
    "ability_mods": { "CHA": 1 },
    "base_speed_ft": 30,
    "traits": [
      { "id": "war_dance",             "name": "War Dance",             "description": "Bonus action: weave erratically. Until the start of your next turn, attack rolls against you have disadvantage if you moved at least 15 ft. this turn. Uses equal to proficiency bonus per long rest." },
      { "id": "tunnel_runner",         "name": "Tunnel Runner",         "description": "Burrow speed of 15 ft. in loose soil or sand. Navigate tunnels and underground spaces without penalty. Advantage on checks to find or create underground passages." },
      { "id": "irrepressible",         "name": "Irrepressible",         "description": "Advantage on saves against the frightened condition. Ferret-folk have a pathological inability to take threats as seriously as they should." }
    ],
    "detriments": [
      { "id": "attention_deficit",     "name": "Attention Deficit",     "description": "Disadvantage on checks requiring sustained concentration outside of combat (extended research, long stakeouts, detailed crafting over 4+ hours). Your focus is explosive, not sustained." },
      { "id": "musk_broadcast",        "name": "Musk Broadcast",        "description": "Under stress, fear, or arousal, your scent intensifies involuntarily. Stealth checks in these states are made with disadvantage, and creatures with scent abilities automatically know your emotional state." }
    ]
  },
  {
    "id": "badger",
    "clade_id": "mustelidae",
    "name": "Badger-Folk",
    "description": "\"Not big. Not fast. Just absolutely unwilling to stop.\"\n\nStocky, low center of gravity, dense muscle on a compact frame with disproportionately wide shoulders. Coarse bristly fur, classic black-and-white facial striping. Heavy digging claws. Built like a bunker with teeth.",
    "size": "medium",
    "ability_mods": { "CON": 1 },
    "base_speed_ft": 30,
    "traits": [
      { "id": "immovable",             "name": "Immovable",             "description": "Advantage on STR and CON saves against being knocked prone, pushed, or forcibly moved. Your low center of gravity and dense build make displacement extremely difficult." },
      { "id": "digging_claws",         "name": "Digging Claws",         "description": "Burrow speed of 20 ft. Claw attacks deal 1d6 + STR slashing. Advantage on checks to break through barriers, dig through obstacles, or demolish structures." },
      { "id": "relentless_endurance",  "name": "Relentless Endurance",  "description": "When you take damage that would reduce you to 0 HP, reaction: CON save (DC = 10 + damage taken). On success, drop to 1 HP instead. Once per long rest." }
    ],
    "detriments": [
      { "id": "tunnel_vision",         "name": "Tunnel Vision",         "description": "When engaged with a single target, disadvantage on Perception checks to notice other threats. Badger-folk lock on and everything else goes dark." },
      { "id": "antisocial_default",    "name": "Antisocial Default",    "description": "Disadvantage on CHA checks in social gatherings of 6+ people. Not shy — actively irritated by crowds." }
    ]
  },
  {
    "id": "wolverine",
    "clade_id": "mustelidae",
    "name": "Wolverine-Folk",
    "description": "\"Nature's proof that fury is a viable survival strategy.\"\n\nDense, heavy-boned, thick through torso and limbs. Dark brown to black, often with a pale lateral stripe shoulder to hip. Frost-resistant ruff. The eyes of something that has calculated whether it can take you and decided yes.",
    "size": "medium_large",
    "ability_mods": { "STR": 1 },
    "base_speed_ft": 30,
    "traits": [
      { "id": "wolverine_frenzy",      "name": "Wolverine's Frenzy",    "description": "Once per long rest, bonus action: enter a frenzy for 1 minute. While frenzied, gain resistance to all damage except psychic. (Distinct from the Feral class's Rage; renamed to avoid confusion. Doc: 'Feral Rage'.)" },
      { "id": "jaws_of_iron",          "name": "Jaws of Iron",          "description": "Bite attack deals 1d8 + STR piercing and can target objects. Chew through rope, leather, and soft wood as an action. Hard materials (metal, stone) take 1 minute per inch." },
      { "id": "arctic_survivor",       "name": "Arctic Survivor",       "description": "Immunity to the effects of extreme cold environments. Leave no tracks in snow. Advantage on Survival checks in tundra, mountain, and arctic terrain." }
    ],
    "detriments": [
      { "id": "berserkers_toll",       "name": "Berserker's Toll",      "description": "After Wolverine's Frenzy ends, gain one level of exhaustion. The fire burns hot but the crash is real." },
      { "id": "feared_not_loved",      "name": "Feared, Not Loved",     "description": "Disadvantage on CHA (Persuasion) checks with creatures who know what you are. Wolverine-folk's reputation precedes them, and it is not a friendly reputation." }
    ]
  },
  {
    "id": "brown_bear",
    "clade_id": "ursidae",
    "name": "Brown Bear-Folk",
    "description": "\"The standard by which all bears measure themselves, and everyone else measures trouble.\"\n\nEnormous shoulder hump of muscle, broad everywhere — the physically largest common species in the world. Dense, coarse, shaggy fur from honey-blonde to chocolate to grizzled silver-tip. Warm in calm; terrifying when not.",
    "size": "large",
    "ability_mods": { "STR": 1 },
    "base_speed_ft": 30,
    "traits": [
      { "id": "devastating_swipe",     "name": "Devastating Swipe",     "description": "Unarmed claw attack deals 2d6 + STR slashing. On a hit, you may choose to forgo damage and instead shove the target up to 10 ft. in any direction." },
      { "id": "foragers_nose",         "name": "Forager's Nose",        "description": "Advantage on Survival checks to find food in any natural environment. Identify edible vs. toxic plants and fungi by scent." },
      { "id": "stubborn_vitality",     "name": "Stubborn Vitality",     "description": "Advantage on death saving throws." }
    ],
    "detriments": [
      { "id": "slow_burn",             "name": "Slow Burn",             "description": "Act last in the first round of any combat where you were not expecting a fight (initiative count 0, regardless of roll). Ursid threat-processing takes a moment to spool up." },
      { "id": "accidental_destruction","name": "Accidental Destruction","description": "When you fail a DEX check by 5 or more while interacting with objects or structures not built for your size, you break them. Tools, furniture, delicate mechanisms, occasionally other people's belongings." }
    ]
  },
  {
    "id": "polar_bear",
    "clade_id": "ursidae",
    "name": "Polar Bear-Folk",
    "description": "\"Born in the white silence. Everything about them is patience and stored violence.\"\n\nSlightly leaner than brown bear-folk through the hip, broader through the chest, built for swimming and cold-weather endurance. White to cream-yellow guard hairs over a dense water-resistant undercoat; the skin beneath is black.",
    "size": "large",
    "ability_mods": { "WIS": 1 },
    "base_speed_ft": 30,
    "traits": [
      { "id": "arctic_apex",           "name": "Arctic Apex",           "description": "Immunity to cold damage and cold environments. Swim speed of 30 ft. Hold your breath for 15 minutes." },
      { "id": "patient_hunter",        "name": "Patient Hunter",        "description": "If you do not move during your turn, your next melee attack before the end of your next turn deals an additional 1d8 damage. Stillness precedes the strike." },
      { "id": "insulating_bulk",       "name": "Insulating Bulk",       "description": "Resistance to non-magical bludgeoning damage. Layers of fat and fur absorb impact." }
    ],
    "detriments": [
      { "id": "heat_vulnerable",       "name": "Heat Vulnerable",       "description": "In temperatures above 75°F / 24°C, CON save (DC 12) every hour or gain exhaustion. Above 90°F, the DC increases to 15. Polar bear-folk suffer in warm climates." },
      { "id": "resource_hungry",       "name": "Resource Hungry",       "description": "Requires triple standard rations (caloric needs are massive). Failure to meet this imposes exhaustion at an accelerated rate." }
    ]
  },
  {
    "id": "elk",
    "clade_id": "cervidae",
    "name": "Elk-Folk",
    "description": "\"Herd-builders, wall-builders, civilization-builders. The hooves that stamped order into chaos.\"\n\nTall and long-legged, powerful through the haunches and chest. Tawny brown body, darker neck, pale rump patch. Males grow impressive branching antlers — broad, branching, shed and regrown annually — used in display, defense, and cultural adornment.",
    "size": "medium_large",
    "ability_mods": { "STR": 1 },
    "base_speed_ft": 40,
    "traits": [
      { "id": "herd_coordination",     "name": "Herd Coordination",     "description": "When you take the Help action to assist an ally's check or attack, the ally gains a +3 bonus instead of advantage. Cervidae herd instinct made tactical." },
      { "id": "endurance_runner",      "name": "Endurance Runner",      "description": "Base speed 40 ft. Advantage on CON saves against forced march, exhaustion from prolonged movement, and effects that would slow your pace on open ground." }
    ],
    "detriments": [
      { "id": "herd_instinct",         "name": "Herd Instinct",         "description": "When an allied creature within 30 ft. takes the Dash action to flee combat, WIS save (DC 12) or use your reaction to Dash in the same direction. The herd moves together — even when only some of it should." }
    ],
    "variant_axis": "sex",
    "variants": [
      {
        "id": "male",
        "name": "Bull",
        "traits": [
          { "id": "antler_combat",       "name": "Antler Combat",       "description": "Antler attack deals 1d8 + STR piercing. On a hit, you may forgo damage to shove the target 5 ft. While the full rack is grown (outside antler-shed season), antler attacks have reach 10 ft." }
        ],
        "detriments": [
          { "id": "antler_drag",         "name": "Antler Drag",         "description": "During antler-shed season (1 month per year), antlers fall off — antler attack damage reduced by 1 die step and the 10 ft. reach is lost until they regrow." }
        ]
      },
      {
        "id": "female",
        "name": "Cow",
        "traits": [
          { "id": "kick",                "name": "Kick",                "description": "Hooved kick attack deals 1d8 + STR bludgeoning. On a critical hit, the target is knocked prone. The herd's other answer to threats." }
        ],
        "detriments": []
      }
    ]
  },
  {
    "id": "deer",
    "clade_id": "cervidae",
    "name": "Deer-Folk",
    "description": "\"Quiet, cautious, and always closer to gone than you realize.\"\n\nLean, graceful, built entirely for speed and evasion — not frail, just efficient. Reddish-brown in warm seasons, grey-brown in cold; white underbelly with a white tail-flag. Wide-set lateral eyes with peripheral vision approaching 310 degrees.",
    "size": "medium",
    "ability_mods": { "DEX": 1 },
    "base_speed_ft": 35,
    "traits": [
      { "id": "swift_strider",         "name": "Swift Strider",         "description": "Base speed 35 ft. Difficult terrain costs no extra movement when moving in a straight line." },
      { "id": "alert_eyes",            "name": "Alert Eyes",            "description": "You cannot be surprised while conscious." }
    ],
    "detriments": [
      { "id": "skittish",              "name": "Skittish",              "description": "When taking damage from a hidden or unseen attacker, WIS save (DC 12) or use your reaction to move 10 ft. away from the attack source." },
      { "id": "slight_frame",          "name": "Slight Frame",          "description": "Hit point maximum reduced by 1 per level (minimum 1 HP per level). You weren't built to take hits — you were built to not be there when the hit lands." }
    ]
  },
  {
    "id": "moose",
    "clade_id": "cervidae",
    "name": "Moose-Folk",
    "description": "\"The exception to every rule about prey being fragile. Eight feet of 'try it.'\"\n\nMassive — thick-bodied, heavy-shouldered, long-legged — the largest Cervidae species, rivaling Ursidae in sheer mass. Dark brown to black, coarse and shaggy, with a loose dewlap at the throat. Males carry enormous palmate antlers that force doorway accommodations.",
    "size": "large",
    "ability_mods": { "CON": 1 },
    "base_speed_ft": 30,
    "traits": [
      { "id": "dont_tread_on_me",      "name": "Don't Tread on Me",     "description": "Count as one size larger for grappling, shoving, and resisting forced movement. Creatures that hit you with a melee attack within 5 ft. provoke a free kick (1d8 + STR) as a reaction. Uses equal to proficiency bonus per long rest." },
      { "id": "palmate_antlers",       "name": "Palmate Antlers",       "description": "Antler attack deals 2d6 + STR bludgeoning. On a critical hit, the target is stunned until the end of their next turn. These antlers are not decorative." },
      { "id": "wetland_wader",         "name": "Wetland Wader",         "description": "No movement penalty in difficult terrain caused by water, mud, or swamp. Swim speed of 20 ft. Hold your breath for 5 minutes." }
    ],
    "detriments": [
      { "id": "ursid_scale_problems",  "name": "Ursid-Scale Problems",  "description": "As a Large creature, you share many of the infrastructure problems of Ursidae — standard furniture, doorways, and vehicles are too small. Disadvantage on DEX (Stealth) checks — you are not subtle." },
      { "id": "solitary_cervid",       "name": "Solitary Cervid",       "description": "Unlike most Cervidae, moose-folk are not herd-oriented. You do not benefit from Herd Coordination effects and have disadvantage on CHA checks in groups larger than 4. You don't do committees." }
    ]
  },
  {
    "id": "rabbit",
    "clade_id": "leporidae",
    "name": "Rabbit-Folk",
    "description": "\"They built the warren-cities, the message networks, the emergency medical system. Underestimate them. They're counting on it.\"\n\nCompact and soft-featured, with deceptively powerful hindquarters. Enormous coat variety. Long ears (upright or lopping by lineage — culturally significant) and a constantly twitching nose.",
    "size": "small",
    "ability_mods": { "WIS": 1 },
    "base_speed_ft": 40,
    "traits": [
      { "id": "warren_dweller",        "name": "Warren Dweller",        "description": "Burrow speed 10 ft. through loose soil. Advantage on Stealth checks in your home warren. Community Resilience: once per long rest, when within 30 ft. of two or more allies, regain 1d4 + level HP." },
      { "id": "powerful_legs",         "name": "Powerful Legs",         "description": "Standing long jump distance equals your speed; running long jump doubles it." }
    ],
    "detriments": [
      { "id": "small_prey",            "name": "Small Prey",            "description": "Carrying capacity halved. Disadvantage on STR saves against creatures two or more sizes larger." }
    ]
  },
  {
    "id": "hare",
    "clade_id": "leporidae",
    "name": "Hare-Folk",
    "description": "\"Not rabbits. Bigger. Wilder. Born on the surface, not in a burrow. There's a difference, and they will tell you about it.\"\n\nLeaner and rangier than rabbit-folk — longer limbs, longer ears, longer stride. Tawny brown, grey, or seasonally white. Build is more runner than burrower; ears tipped black; gaze sharp and confrontational.",
    "size": "medium",
    "ability_mods": { "CON": 1 },
    "base_speed_ft": 45,
    "traits": [
      { "id": "open_ground_runner",    "name": "Open Ground Runner",    "description": "Base speed 45 ft. (fastest of any species). When you Dash, you can move through enemies' spaces if you end your movement outside their reach." },
      { "id": "wild_born",             "name": "Wild Born",             "description": "Proficiency in Survival. Advantage on CON saves against environmental exposure (cold, heat, wind, rain)." },
      { "id": "jackrabbit_dodge",      "name": "Jackrabbit Dodge",      "description": "Reaction when targeted by a ranged attack you can see, with at least 5 ft. of movement space: impose disadvantage on the attack roll. Uses equal to proficiency bonus per long rest." }
    ],
    "detriments": [
      { "id": "solitary_streak",       "name": "Solitary Streak",       "description": "Cannot benefit from Community Resilience effects. Disadvantage on checks involving group coordination." },
      { "id": "exposed",               "name": "Exposed",               "description": "Cannot benefit from full cover that involves enclosed spaces smaller than your body — claustrophobia is mechanical." }
    ]
  },
  {
    "id": "bull",
    "clade_id": "bovidae",
    "name": "Bull-Folk",
    "description": "\"Big. Patient. And when patience runs out, apocalyptic.\"\n\nMassive, thick-necked, broad-shouldered, heavy through chest and belly — not fat, dense; everything about them says immovable. Heavy horns curving outward and up. Hooves instead of paws — hard, split, built for impact.",
    "size": "large",
    "ability_mods": { "STR": 1 },
    "base_speed_ft": 25,
    "traits": [
      { "id": "charge",                "name": "Charge",                "description": "If you move at least 20 ft. straight toward a target and hit with a horn attack, target takes +2d6 bludgeoning and makes a STR save (DC = 8 + prof + STR) or is knocked prone." },
      { "id": "iron_constitution",     "name": "Iron Constitution",     "description": "Resistance to poison damage. Advantage on saves against poison and disease." },
      { "id": "immovable_anchor",      "name": "Immovable Anchor",      "description": "Bonus action: plant yourself. Until the start of your next turn, cannot be moved against your will and AC +2. Speed becomes 0." }
    ],
    "detriments": [
      { "id": "seeing_red",            "name": "Seeing Red",            "description": "When reduced to half HP by a melee attack, WIS save (DC 13) or compelled to attack the damaging creature on next turn, ignoring tactics." },
      { "id": "hooves_not_paws",       "name": "Hooves, Not Paws",      "description": "Disadvantage on checks requiring fine manual dexterity (lockpicking, surgery, calligraphy)." }
    ]
  },
  {
    "id": "sheep",
    "clade_id": "bovidae",
    "name": "Sheep-Folk",
    "description": "\"We climb because the mountain asked us to. We grow wool because the wind asked us to. We come back, again and again, because that's what the herd is for.\"\n\nStocky and compact, lower center of gravity than bull-folk — powerful especially through the hindquarters. Heavy fleece, tightly curled and lanolin-rich, naturally weather-shedding. Spiral or sweeping horns, cloven hooves, horizontal-slit pupils. Sheep-folk built the high pastures and the wool trade that supports half the world's textile economy.",
    "size": "medium",
    "ability_mods": { "WIS": 1 },
    "base_speed_ft": 30,
    "traits": [
      { "id": "mountain_born",         "name": "Mountain Born",         "description": "Climb speed equal to walking speed. Immune to altitude sickness. Advantage on DEX checks and saves on narrow, unstable, or steep surfaces." },
      { "id": "headbutt",              "name": "Headbutt",              "description": "Horn attack deals 1d10 + STR when using Charge (20-ft. run-up). Target hit must make a CON save (DC = 8 + prof + STR) or be dazed (disadvantage on next attack roll)." },
      { "id": "wool_insulation",       "name": "Wool Insulation",       "description": "Resistance to cold damage. Advantage on saves against cold environments. The fleece does what the fleece is for." }
    ],
    "detriments": [
      { "id": "horizontal_pupils",     "name": "Horizontal Pupils",     "description": "Disadvantage on Perception checks requiring depth perception at distances greater than 60 ft." },
      { "id": "herd_mentality",        "name": "Herd Mentality",        "description": "When 3+ visible allies are moving in a direction, WIS save (DC 10) or feel compelled to move with them." }
    ]
  },
  {
    "id": "goat",
    "clade_id": "bovidae",
    "name": "Goat-Folk",
    "description": "\"Yes, I can stand on that. Yes, I can eat that. Yes, I am going to.\"\n\nLeaner and more angular than sheep-folk, athletic through the shoulder, with the same low center of gravity. Coarse hair instead of wool. Curving horns swept back. Horizontal-slit pupils. Goat-folk thrive where nothing else can — desert mesas, cliff edges, salt marshes, the upper slopes where the air thins and the rocks don't hold.",
    "size": "medium",
    "ability_mods": { "WIS": 1 },
    "base_speed_ft": 30,
    "traits": [
      { "id": "mountain_born",         "name": "Mountain Born",         "description": "Climb speed equal to walking speed. Immune to altitude sickness. Advantage on DEX checks and saves on narrow, unstable, or steep surfaces." },
      { "id": "headbutt",              "name": "Headbutt",              "description": "Horn attack deals 1d10 + STR when using Charge (20-ft. run-up). Target hit must make a CON save (DC = 8 + prof + STR) or be dazed (disadvantage on next attack roll)." },
      { "id": "stubborn_metabolism",   "name": "Stubborn Metabolism",   "description": "Subsist on half normal rations. Advantage on CON saves against ingested poisons, spoiled food, and unusual environmental contaminants. Goat-line digestive systems are infamous for a reason." }
    ],
    "detriments": [
      { "id": "horizontal_pupils",     "name": "Horizontal Pupils",     "description": "Disadvantage on Perception checks requiring depth perception at distances greater than 60 ft." },
      { "id": "herd_mentality",        "name": "Herd Mentality",        "description": "When 3+ visible allies are moving in a direction, WIS save (DC 10) or feel compelled to move with them." }
    ]
  },
  {
    "id": "bison",
    "clade_id": "bovidae",
    "name": "Bison-Folk",
    "description": "\"The prairie made them. Nothing else could.\"\n\nMassive shoulder hump and enormous head, thick through chest and front; hindquarters comparatively lean. Dark brown to near-black, shaggy through head and shoulders. Short, curved, wickedly sharp horns. Everything about the front profile says battering ram.",
    "size": "large",
    "ability_mods": { "CON": 1 },
    "base_speed_ft": 25,
    "traits": [
      { "id": "stampede_engine",       "name": "Stampede Engine",       "description": "Charge deals an additional 1d6 damage. If three or more bison-folk charge the same target or area, all attacks gain +1d6." },
      { "id": "prairie_endurance",     "name": "Prairie Endurance",     "description": "March for 16 hours before exhaustion checks begin. Advantage on CON saves against effects that would slow your movement." },
      { "id": "wall_of_fur",           "name": "Wall of Fur",           "description": "Resistance to non-magical bludgeoning damage." }
    ],
    "detriments": [
      { "id": "forward_weighted",      "name": "Forward-Weighted",      "description": "Disadvantage on DEX saves and checks that require backward movement, pivoting, or rapid direction changes." },
      { "id": "stoic_to_a_fault",      "name": "Stoic to a Fault",      "description": "Disadvantage on CHA (Performance) and CHA (Persuasion) checks that require emotional expressiveness." }
    ]
  }
]
