/* Serengeti Anti-Poaching Run - design system. Palette taken from the official logo. */
:root{--green:#0f6b3a;--green-d:#0a4a29;--green-l:#e7f3ec;--gold:#ffb300;--gold-d:#a68a00;--earth:#7f5a2a;--earth-d:#5a3f1c;--cream:#f7f5ef;--ink:#1c2a22;--mut:#55625b;--line:#dfe6e1;--white:#fff;--danger:#b3261e;--r:14px;--sh:0 8px 28px rgba(10,74,41,.12);--w:1160px}
@media (prefers-color-scheme:dark){:root{--cream:#0f1914;--ink:#eaf2ed;--mut:#a8b8ae;--line:#24372c;--white:#14231b;--green-l:#173326;--sh:0 8px 28px rgba(0,0,0,.4)}}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Helvetica Neue",Arial,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--cream)}
img,svg,video{max-width:100%;height:auto}a{color:var(--green);text-underline-offset:3px}@media (prefers-color-scheme:dark){a{color:#6fe3a2}}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .6em;font-weight:800;letter-spacing:-.01em}h1{font-size:clamp(2rem,5vw,3.4rem)}h2{font-size:clamp(1.55rem,3.4vw,2.3rem)}h3{font-size:1.25rem}
p{margin:0 0 1em}.wrap{max-width:var(--w);margin:0 auto;padding:0 20px}.sec{padding:clamp(44px,7vw,84px) 0}.sec--alt{background:var(--white)}.center{text-align:center}.mut{color:var(--mut)}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#000;padding:10px 16px;border-radius:8px;z-index:200}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:.75em 1.5em;border-radius:999px;border:2px solid transparent;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;background:var(--green);color:#fff;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-2px);box-shadow:var(--sh);background:var(--green-d)}.btn--gold{background:var(--gold);color:#2a1d00}.btn--gold:hover{background:#ffc233}.btn--ghost{background:transparent;color:inherit;border-color:currentColor}.btn--sm{min-height:40px;padding:.45em 1em;font-size:.92rem}
/* header */
.hdr{position:sticky;top:0;z-index:100;background:var(--white);border-bottom:1px solid var(--line)}.hdr__in{display:flex;align-items:center;gap:16px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:800;line-height:1.1}.brand img{border-radius:10px}.brand small{display:block;font-weight:600;color:var(--mut);font-size:.72rem}
.nav{margin-left:auto}.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;align-items:center}.nav li{position:relative}
.nav a,.nav button.nl{display:block;padding:.55em .8em;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem;background:none;border:0;font-family:inherit;cursor:pointer}
.nav a:hover,.nav button.nl:hover,.nav a[aria-current]{background:var(--green-l);color:var(--green)}
.sub{position:absolute;left:0;top:100%;min-width:230px;background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh);padding:6px;display:none;flex-direction:column}.nav li:hover>.sub,.nav li:focus-within>.sub{display:flex}
.lang{display:flex;gap:4px;margin-left:8px}.lang a{padding:.3em .55em;font-size:.8rem;border:1px solid var(--line)}
.burger{display:none;margin-left:auto;background:none;border:2px solid var(--line);border-radius:10px;width:46px;height:46px;font-size:1.4rem;color:var(--ink);cursor:pointer}
@media(max-width:1020px){.burger{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--line);padding:10px 20px 20px;max-height:80vh;overflow:auto;margin:0}.nav.open{display:block}.nav ul{flex-direction:column;align-items:stretch}.sub{position:static;display:flex;box-shadow:none;border:0;padding:0 0 0 14px;min-width:0}}
/* hero */
.hero{position:relative;color:#fff;min-height:min(86vh,720px);display:grid;align-items:center;overflow:hidden;background:#0a3d26 url(/images/savanna.svg) center bottom/cover no-repeat;isolation:isolate}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,35,22,.82),rgba(5,35,22,.25));z-index:-1}
.slide{grid-area:1/1;padding:70px 0 90px;opacity:0;visibility:hidden;animation:slide 18s infinite}.slide:nth-child(1){opacity:1;visibility:visible}.slide:nth-child(2){animation-delay:6s}.slide:nth-child(3){animation-delay:12s}
@keyframes slide{0%,28%{opacity:1;visibility:visible}33%,100%{opacity:0;visibility:hidden}}
.hero h1{max-width:15ch;text-shadow:0 2px 14px rgba(0,0,0,.4)}.hero p{max-width:52ch;font-size:1.15rem}.tag{display:inline-block;background:rgba(255,179,0,.95);color:#2a1d00;font-weight:800;border-radius:999px;padding:.25em .9em;margin:0 6px 8px 0;font-size:.9rem}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
/* cards & grids */
.grid{display:grid;gap:22px}.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--sh);height:100%}.card h3{margin-top:0}.card--hl{border:2px solid var(--gold)}
.sec--alt .card{background:var(--cream)}.kpi{font-size:2.2rem;font-weight:800;color:var(--green);line-height:1}.badge{display:inline-block;background:var(--green-l);color:var(--green);border-radius:999px;padding:.15em .8em;font-weight:700;font-size:.82rem}
.price{font-size:1.6rem;font-weight:800;color:var(--green)}.ul-clean{list-style:none;padding:0;margin:0}.ul-clean li{padding:.35em 0 .35em 1.7em;position:relative}.ul-clean li::before{content:"";position:absolute;left:0;top:.8em;width:.8em;height:.8em;border-radius:50%;background:var(--gold)}
.pagehead{background:linear-gradient(120deg,var(--green-d),var(--green));color:#fff;padding:clamp(36px,6vw,70px) 0}.pagehead h1{margin:0 0 .3em}.pagehead p{margin:0;opacity:.92;max-width:62ch}.crumbs{font-size:.85rem;opacity:.85;margin-bottom:10px}.crumbs a{color:#fff}
.prose{max-width:760px}.prose h2{margin-top:1.6em}.prose h3{margin-top:1.3em}.prose li{margin:.3em 0}
table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:.7em .8em;border-bottom:1px solid var(--line)}th{background:var(--green-l);color:var(--green)}.tw{overflow-x:auto}
details.faq{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:0 18px;margin:0 0 10px}details.faq summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}details.faq summary::after{content:"+";font-size:1.4rem;color:var(--green)}details[open].faq summary::after{content:"\2212"}
/* forms */
.form{display:grid;gap:18px}.fs{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:22px}.fs legend{font-weight:800;color:var(--green);padding:0 8px}.row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
label{display:block;font-weight:600;font-size:.92rem;margin-bottom:4px}input,select,textarea{width:100%;min-height:48px;padding:.6em .8em;border:1.5px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink);font:inherit}textarea{min-height:110px}input:focus,select:focus,textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px rgba(15,107,58,.2)}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:500}.chk input{width:22px;min-height:22px;margin-top:3px}.err{color:var(--danger);font-size:.88rem;margin-top:4px}.alert{padding:14px 18px;border-radius:12px;margin-bottom:18px;background:var(--green-l);border:1px solid var(--green)}.alert--bad{background:#fdecea;border-color:var(--danger);color:#601410}.hp{position:absolute;left:-9999px}
.steps{display:flex;gap:8px;margin:0 0 26px;padding:0;list-style:none;flex-wrap:wrap}.steps li{flex:1;min-width:140px;padding:.7em 1em;border-radius:999px;background:var(--white);border:1px solid var(--line);font-weight:700;font-size:.9rem;text-align:center}.steps li.on{background:var(--green);color:#fff;border-color:var(--green)}.steps li.done{background:var(--green-l);color:var(--green)}
.opt{display:block;border:2px solid var(--line);border-radius:var(--r);padding:18px;cursor:pointer;background:var(--white)}.opt:has(input:checked){border-color:var(--green);box-shadow:0 0 0 3px rgba(15,107,58,.18)}.opt input{width:auto;min-height:0;margin-right:8px}
.map{height:380px;border-radius:var(--r);border:1px solid var(--line);background:var(--green-l);display:grid;place-items:center;color:var(--mut)}
/* footer */
.ftr{background:#0a2e1c;color:#d8e8df;padding:54px 0 24px}.ftr a{color:#fff}.ftr h4{color:var(--gold)}.ftr ul{list-style:none;padding:0;margin:0}.ftr li{margin:.4em 0}.ftr small{display:block;margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);color:#a9c4b4}
.logos{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;align-items:center}.logos a,.logos span{padding:14px 22px;border:1px dashed var(--line);border-radius:12px;font-weight:700;background:var(--white);color:var(--ink);text-decoration:none}
/* floating glowing girl */
.sar-girl{position:fixed;left:6px;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;align-items:center;text-decoration:none;width:150px}
.sar-girl svg{overflow:visible;filter:drop-shadow(0 0 14px rgba(255,213,74,.75))}.sar-girl__label{margin-top:-6px;background:linear-gradient(90deg,#0f6b3a,#14a85a);color:#fff;font-weight:800;font-size:.78rem;text-align:center;padding:.5em 1em;border-radius:999px;border:2px solid var(--gold);box-shadow:0 0 18px rgba(255,213,74,.8);animation:glowpulse 2.2s ease-in-out infinite}
.g-float{animation:floaty 3.6s ease-in-out infinite;transform-origin:center}.g-aura{animation:aura 2.6s ease-in-out infinite;transform-origin:100px 105px}.g-eyes{animation:blink 5s infinite;transform-origin:100px 102px}.g-mic{animation:glowpulse 1.2s infinite}.g-wave{opacity:0;animation:wave 1.8s infinite}.g-wave.w2{animation-delay:.5s}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes aura{0%,100%{transform:scale(.92);opacity:.75}50%{transform:scale(1.06);opacity:1}}@keyframes blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes wave{0%{opacity:0}40%{opacity:1}100%{opacity:0}}@keyframes glowpulse{0%,100%{box-shadow:0 0 8px rgba(255,213,74,.5)}50%{box-shadow:0 0 24px rgba(255,213,74,1)}}
.sar-girl:hover .g-float{animation-duration:1.4s}
@media(max-width:760px){.sar-girl{top:auto;bottom:10px;transform:none;width:96px}.sar-girl svg{width:84px;height:105px}.sar-girl__label{font-size:.66rem;padding:.4em .7em}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.slide{opacity:0}.slide:first-child{opacity:1;visibility:visible}}
@media print{.hdr,.ftr,.sar-girl,.noprint{display:none!important}body{background:#fff;color:#000}}
/* admin */
.adm{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.adm__side{background:#0a2e1c;color:#d8e8df;padding:18px}.adm__side a{display:block;color:#d8e8df;text-decoration:none;padding:.55em .8em;border-radius:8px;font-size:.95rem}.adm__side a:hover{background:rgba(255,255,255,.1)}.adm__side h5{color:var(--gold);margin:18px 0 6px;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.adm__main{padding:26px;overflow:auto}
@media(max-width:860px){.adm{grid-template-columns:1fr}}
.bar{height:10px;border-radius:6px;background:var(--green);display:block}.st{padding:.15em .7em;border-radius:999px;font-size:.8rem;font-weight:700;background:var(--green-l);color:var(--green)}.st.pending,.st.draft,.st.pending_review,.st.initiated{background:#fff3cd;color:#664d03}.st.failed,.st.cancelled{background:#fdecea;color:#601410}
.pager{display:flex;gap:6px;justify-content:center;margin:24px 0}.pager a,.pager span{min-width:40px;min-height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:var(--white)}.pager span{background:var(--green);color:#fff;border-color:var(--green)}
