:root{
  --wp-ratio:1.7768331562;
  --wp-jade:#284437;
  --wp-jade-deep:#183126;
  --wp-gold:#b6955c;
  --wp-paper:#fbf5e8;
  --wp-paper-2:#efe1bf;
  --wp-ink:#3e372c;
}
body.wildlife-v621{margin:0;overflow:hidden;background:#1a251f;color:var(--wp-ink);font-family:Georgia,"Times New Roman",serif}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.wp-room{position:fixed;inset:0;overflow:hidden;background:#1b2b20}
.wp-backdrop{position:absolute;inset:-4%;background:url('web/wildlife-keepers-trail-v621.webp') center center/cover no-repeat;filter:blur(22px) saturate(.9) brightness(.75);transform:scale(1.06)}
.wp-backdrop::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(21,33,26,0) 35%,rgba(16,23,18,.5) 100%)}
.wp-scroll{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain}
.wp-scroll::-webkit-scrollbar{display:none}
.wp-stage{position:relative;width:max(100vw,calc(100dvh * var(--wp-ratio)));height:max(100dvh,calc(100vw / var(--wp-ratio)));min-width:100%;min-height:100%}
.wp-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;user-select:none;-webkit-user-drag:none}
.wp-ambient{position:absolute;inset:0;pointer-events:none}
.wp-lantern-glow,.wp-water-glow{position:absolute;border-radius:50%;filter:blur(38px);opacity:.4}
.wp-lantern-glow{left:18.4%;top:43%;width:10%;height:17%;background:rgba(255,208,107,.52);animation:wpPulse 4.8s ease-in-out infinite}
.wp-water-glow{left:48%;top:34%;width:28%;height:14%;background:rgba(255,236,168,.25);animation:wpFloat 9s ease-in-out infinite}
.wp-spark{position:absolute;width:10px;height:10px;border-radius:50%;background:rgba(255,231,173,.9);filter:blur(1px);opacity:.0;animation:wpSpark 7s linear infinite}
.wp-spark.s1{left:58%;top:48%;animation-delay:.2s}
.wp-spark.s2{left:25%;top:24%;animation-delay:2.3s}
.wp-spark.s3{left:75%;top:55%;animation-delay:4.2s}
.wp-hotspots{position:absolute;inset:0}
.wp-hotspot{position:absolute;border:0;background:transparent;padding:0;margin:0;cursor:pointer;border-radius:16px;-webkit-tap-highlight-color:transparent}
.wp-hotspot:focus-visible{outline:3px solid rgba(249,228,160,.95);outline-offset:2px;background:rgba(255,248,228,.12)}
.wp-hotspot:hover{background:rgba(255,248,228,.08)}
.hs-begin{left:34.1%;top:74.5%;width:19%;height:18.6%}
.hs-journal{left:71.6%;top:68.2%;width:16.8%;height:18.9%}
.hs-companion{left:57.4%;top:57.7%;width:10.5%;height:10.4%}
.hs-safe{left:68.8%;top:57.4%;width:10.5%;height:10.7%}
.hs-promise{left:1.5%;top:11.4%;width:14.4%;height:26.6%}
.hs-map{left:88.3%;top:2.4%;width:10.8%;height:8.2%}
.wp-pan-hint{position:fixed;left:50%;top:max(12px,env(safe-area-inset-top));transform:translateX(-50%);display:none;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(17,31,23,.76);backdrop-filter:blur(7px);color:#fff4db;box-shadow:0 12px 26px rgba(8,12,10,.22);font-size:13px;z-index:40;pointer-events:none}
.wp-pan-hint strong{font-weight:600}
.wp-pan-hint span{color:#d8c085}
.wp-dialog[hidden]{display:none}
.wp-dialog{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:18px}
.wp-scrim{position:absolute;inset:0;background:rgba(9,15,12,.54);backdrop-filter:blur(4px)}
.wp-card{position:relative;z-index:1;width:min(760px,calc(100vw - 20px));max-height:min(88dvh,900px);overflow:auto;border-radius:26px;padding:22px 22px 18px;background:linear-gradient(180deg,rgba(251,245,232,.985),rgba(238,224,191,.985));border:1px solid rgba(182,149,92,.54);box-shadow:0 28px 76px rgba(15,23,18,.36),inset 0 0 0 7px rgba(255,255,255,.18)}
.wp-card::before{content:"";position:absolute;inset:8px;border-radius:18px;border:1px solid rgba(182,149,92,.28);pointer-events:none}
.wp-close{position:sticky;top:0;float:right;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,251,242,.85);color:var(--wp-jade);font:31px/1 Georgia,serif;cursor:pointer;box-shadow:0 6px 16px rgba(16,26,19,.12)}
.wp-head{padding-right:46px;margin-bottom:10px}
.wp-kicker{display:block;color:#7e6843;font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700}
.wp-head h2{margin:5px 0 6px;color:var(--wp-jade);font-size:clamp(29px,4vw,40px);line-height:1.05;font-weight:500}
.wp-head p{margin:0 0 12px;color:#5c5140;font-size:16px;line-height:1.5}
.wp-body{position:relative;z-index:2;display:grid;gap:14px}
.wp-foot{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px}
.wp-button,.wp-foot button,.wp-foot a,.wp-choice,.wp-chip,.wp-linkcard{font-family:inherit}
.wp-primary,.wp-secondary,.wp-ghost,.wp-linkcard,.wp-choice,.wp-chip{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer;border-radius:14px;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}
.wp-primary,.wp-secondary,.wp-ghost{padding:12px 16px;border:0;font-size:15px}
.wp-primary{background:linear-gradient(180deg,#4f7053,#2c4a36);color:#fff7e1;box-shadow:0 10px 22px rgba(29,52,36,.22)}
.wp-primary:hover,.wp-primary:focus-visible{transform:translateY(-1px);outline:2px solid rgba(182,149,92,.55);outline-offset:2px}
.wp-secondary{background:rgba(44,74,54,.08);color:var(--wp-jade);border:1px solid rgba(44,74,54,.18)}
.wp-ghost{background:transparent;color:#5d513f;border:1px solid rgba(142,116,69,.22)}
.wp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wp-choice{padding:16px;border:1px solid rgba(148,118,69,.26);background:rgba(255,252,244,.64);color:var(--wp-jade);text-align:left;justify-content:flex-start}
.wp-choice b{display:block;font-size:18px;font-weight:500;margin-bottom:3px}
.wp-choice span{display:block;font-size:13px;line-height:1.45;color:#5f5545}
.wp-choice:hover,.wp-choice:focus-visible{background:#fffdf8;transform:translateY(-1px);outline:2px solid rgba(182,149,92,.32);outline-offset:1px}
.wp-progress{display:flex;gap:8px;margin:4px 0 2px}
.wp-progress span{flex:1;height:6px;border-radius:999px;background:rgba(44,74,54,.12)}
.wp-progress span.done{background:linear-gradient(90deg,#cbb57d,#4f7053)}
.wp-notice-card,.wp-reflection,.wp-journal-card,.wp-companion-card,.wp-safe-card,.wp-promise-card{padding:18px;border-radius:18px;background:rgba(255,252,245,.74);border:1px solid rgba(146,116,66,.22)}
.wp-notice-card strong,.wp-reflection strong,.wp-journal-card strong,.wp-companion-card strong,.wp-safe-card strong,.wp-promise-card strong{color:var(--wp-jade);font-size:20px;font-weight:500}
.wp-meta{display:block;color:#7b6643;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:8px}
.wp-journal-list,.wp-safe-list{display:grid;gap:10px;margin:14px 0 0;padding:0;list-style:none}
.wp-journal-list li,.wp-safe-list li{padding:12px 14px;border-radius:14px;background:rgba(255,248,234,.88);border:1px solid rgba(146,116,66,.18);line-height:1.45}
.wp-journal-list li b{display:block;color:#284437;margin-bottom:2px}
.wp-inline-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.wp-companion-fields,.wp-safe-links{display:grid;gap:12px}
.wp-field{display:grid;gap:7px}
.wp-field span{font-size:13px;color:#5b503f;font-weight:700}
.wp-field input,.wp-field textarea{width:100%;padding:12px 13px;border-radius:12px;border:1px solid rgba(137,113,70,.24);background:#fffdf7;color:#2c3b31;font:15px/1.5 Georgia,serif;resize:vertical}
.wp-field textarea{min-height:88px}
.wp-local{display:flex;align-items:flex-start;gap:10px;color:#5d5140;font-size:14px;line-height:1.4}
.wp-local input{margin-top:2px}
.wp-promise-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.wp-chip{padding:12px 14px;border:1px solid rgba(142,116,69,.24);background:rgba(255,251,242,.82);color:var(--wp-jade);text-align:left;justify-content:flex-start}
.wp-chip.active{background:linear-gradient(180deg,#f6ecd5,#edd7a8);border-color:rgba(182,149,92,.46);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.wp-linkcard{padding:14px 16px;border:1px solid rgba(146,116,66,.22);background:rgba(255,252,245,.82);color:var(--wp-jade);justify-content:flex-start;text-align:left}
.wp-linkcard b{display:block;font-size:16px;font-weight:500}
.wp-linkcard span{display:block;font-size:13px;color:#5f5443;line-height:1.45;margin-top:2px}
.wp-small{font-size:13px;line-height:1.55;color:#655948}
.wp-keepsake{display:grid;gap:8px;padding:16px;border-radius:18px;background:linear-gradient(180deg,rgba(255,252,244,.96),rgba(244,233,203,.96));border:1px solid rgba(182,149,92,.38)}
.wp-keepsake h3{margin:0;color:var(--wp-jade);font-size:28px;font-weight:500}
.wp-keepsake p,.wp-keepsake li{margin:0;color:#4d4437;line-height:1.5}
.wp-keepsake ul{margin:0;padding-left:18px}
.wp-empty{padding:16px;border-radius:18px;background:rgba(255,252,245,.72);border:1px dashed rgba(146,116,66,.24);color:#665a47;line-height:1.6}
@media(max-width:900px){
  .wp-pan-hint{display:flex}
}
@media(max-width:720px){
  .wp-grid,.wp-promise-options{grid-template-columns:1fr}
  .wp-card{width:min(100%,calc(100vw - 14px));padding:18px 16px 16px;border-radius:20px;max-height:90dvh}
  .wp-head h2{font-size:30px}
}
@media(max-width:560px){
  .wp-dialog{padding:8px}
  .wp-card{border-radius:18px;padding:16px 14px 14px}
  .wp-close{width:38px;height:38px;font-size:28px}
  .wp-head p{font-size:15px}
  .wp-primary,.wp-secondary,.wp-ghost{width:100%;justify-content:center}
  .wp-foot{justify-content:stretch}
}
@media(prefers-reduced-motion:reduce){
  .wp-primary,.wp-secondary,.wp-ghost,.wp-choice,.wp-chip,.wp-linkcard,.wp-hotspot,.wp-pan-hint{transition:none!important}
  .wp-lantern-glow,.wp-water-glow,.wp-spark{animation:none!important}
}
@keyframes wpPulse{0%,100%{opacity:.34;transform:scale(.98)}50%{opacity:.47;transform:scale(1.06)}}
@keyframes wpFloat{0%,100%{opacity:.17;transform:translateY(0)}50%{opacity:.28;transform:translateY(-6px)}}
@keyframes wpSpark{0%{transform:translateY(12px) scale(.4);opacity:0}15%{opacity:.65}85%{opacity:.18}100%{transform:translateY(-60px) translateX(8px) scale(1);opacity:0}}
