:root{
  --ink:#f5f7f2;--muted:#c9d3ce;--deep:#081a15;--deep2:#0c2a22;--green:#1f5d4b;--mint:#9fd0b7;--lime:#dbea87;--paper:#f7f6ef;--darkink:#12211c;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{background:var(--deep);scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--deep);min-height:100vh;overflow-x:hidden}
button,input{font:inherit}
.hidden{display:none!important}

.forest-stage{position:fixed;inset:0;height:100svh;z-index:0;overflow:hidden;background:#0c251d;pointer-events:none}
.forest-photo{position:absolute;inset:-5%;background:url("/landing-forest.jpg") center 48%/cover no-repeat;filter:saturate(.72) contrast(1.02);animation:forestDrift 18s ease-in-out infinite alternate;transform-origin:55% 50%}
.forest-shade{position:absolute;inset:0;background:
  radial-gradient(circle at 72% 30%,rgba(15,66,50,.08),rgba(2,13,10,.6) 58%,rgba(2,10,8,.92) 100%),
  linear-gradient(90deg,rgba(4,17,13,.88) 0%,rgba(4,18,14,.62) 46%,rgba(4,17,13,.42) 70%,rgba(3,13,10,.76) 100%)}
.mist{position:absolute;width:80vw;height:28vh;border-radius:50%;filter:blur(45px);opacity:.16;background:linear-gradient(90deg,transparent,#d9efe5 45%,transparent);mix-blend-mode:screen}
.mist-a{left:-20vw;top:23vh;animation:mistMove 25s linear infinite}
.mist-b{right:-32vw;top:51vh;animation:mistMove2 31s linear infinite}
.scan-line{position:absolute;top:0;bottom:0;width:1px;left:18%;background:linear-gradient(transparent,rgba(219,234,135,.35),transparent);box-shadow:0 0 18px rgba(219,234,135,.25);animation:scan 11s ease-in-out infinite alternate}
@keyframes forestDrift{from{transform:scale(1.06) translate3d(-1.2%,0,0)}to{transform:scale(1.13) translate3d(1.5%,-1%,0)}}
@keyframes mistMove{from{transform:translateX(-12vw)}to{transform:translateX(88vw)}}
@keyframes mistMove2{from{transform:translateX(12vw)}to{transform:translateX(-70vw)}}
@keyframes scan{from{left:13%}to{left:86%}}

.landing-topbar{position:relative;z-index:5;max-width:1220px;margin:auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between}
.landing-brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:white}
.landing-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(159,208,183,.14);border:1px solid rgba(159,208,183,.3);backdrop-filter:blur(16px);font-size:20px}
.landing-brand strong,.landing-brand small{display:block}.landing-brand strong{font-size:15px;letter-spacing:.01em}.landing-brand small{font-size:10px;color:#b8c9c1;margin-top:3px;letter-spacing:.04em}
.access-pill{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:rgba(5,22,17,.34);backdrop-filter:blur(14px);font-size:11px;color:#dce6e1}.access-pill i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(219,234,135,.09)}

.landing-main{position:relative;z-index:3;max-width:1220px;min-height:calc(100svh - 92px);margin:auto;padding:64px 28px 96px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.72fr);gap:64px;align-items:center}
.hero-copy{position:relative;z-index:2;max-width:720px}
.landing-eyebrow{font-size:11px;line-height:1.4;font-weight:850;letter-spacing:.15em;color:var(--lime);margin:0 0 12px;text-transform:uppercase}
.hero-copy h1{font-size:clamp(50px,6.6vw,92px);line-height:.92;letter-spacing:-.06em;margin:0 0 24px;max-width:820px;text-shadow:0 8px 40px rgba(0,0,0,.34)}
.hero-copy h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(240,249,244,.65);text-stroke:1px rgba(240,249,244,.65)}
.hero-lead{font-size:clamp(17px,1.6vw,21px);line-height:1.55;color:#d5dfda;max-width:680px;margin:0 0 30px}
.proof-row{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.proof-row>div{min-width:142px;padding:13px 15px;border-radius:14px;background:rgba(8,29,23,.47);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px)}
.proof-row strong{display:block;font-size:25px;letter-spacing:-.04em;color:#fff}.proof-row span{display:block;font-size:10px;color:#b9c9c2;margin-top:2px;text-transform:uppercase;letter-spacing:.07em}
.feature-strip{display:flex;flex-wrap:wrap;gap:8px}.feature-strip span{font-size:11px;color:#d3dfda;background:rgba(6,24,19,.4);border:1px solid rgba(255,255,255,.1);padding:8px 10px;border-radius:999px;backdrop-filter:blur(12px)}

.login-panel{position:relative;z-index:6;border-radius:28px;padding:28px;background:linear-gradient(145deg,rgba(247,246,239,.98),rgba(239,244,238,.93));color:var(--darkink);border:1px solid rgba(255,255,255,.55);box-shadow:0 32px 90px rgba(0,0,0,.38);overflow:hidden}
.login-glow{position:absolute;right:-80px;top:-90px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(159,208,183,.52),transparent 68%);animation:glowPulse 5s ease-in-out infinite}
@keyframes glowPulse{50%{transform:scale(1.18);opacity:.72}}
.login-head{position:relative;display:flex;gap:14px;align-items:center}.login-head h2{font-size:29px;letter-spacing:-.04em;margin:0}.login-head .landing-eyebrow{color:var(--green);margin-bottom:4px}
.lock-orbit{width:52px;height:52px;flex:0 0 auto;border-radius:50%;border:1px solid #b9cec3;display:grid;place-items:center;position:relative;background:#e9f0eb}.lock-orbit:before{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px dashed rgba(31,93,75,.24);animation:orbit 12s linear infinite}.lock-orbit b{color:var(--green);font-size:21px}@keyframes orbit{to{transform:rotate(360deg)}}
.login-copy{font-size:13px;line-height:1.55;color:#5e6b65;margin:18px 0 20px}
.landing-form{display:grid;gap:12px}.landing-form label{display:grid;gap:6px;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#66736d}.landing-form input{width:100%;border:1px solid #d3ddd7;background:rgba(255,255,255,.86);border-radius:13px;padding:13px 14px;color:#13231d;outline:none;transition:.2s}.landing-form input:focus{border-color:#6a9b86;box-shadow:0 0 0 4px rgba(31,93,75,.09)}
.landing-form button{border:0;border-radius:14px;padding:14px 15px;background:var(--deep2);color:white;display:flex;align-items:center;justify-content:space-between;font-weight:850;cursor:pointer;margin-top:3px;transition:transform .18s,background .18s}.landing-form button:hover{transform:translateY(-1px);background:#123b30}.landing-form button b{font-size:20px}.landing-form button:disabled{opacity:.65;cursor:wait}
.landing-error{font-size:12px;padding:10px 11px;border-radius:10px;background:#ffebe6;color:#9f3a31}
.login-foot{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #dce3df;margin-top:17px;padding-top:13px;color:#718079;font-size:9px}

.wildlife-card{position:absolute;width:180px;border-radius:18px;overflow:hidden;background:rgba(245,247,241,.95);color:#15231d;border:1px solid rgba(255,255,255,.55);box-shadow:0 20px 55px rgba(0,0,0,.3);z-index:4;pointer-events:none}
.wildlife-card img{display:block;width:100%;height:100px;object-fit:cover}.wildlife-card div{padding:10px 11px}.wildlife-card span{display:block;font-size:8px;color:#477565;font-weight:900;letter-spacing:.12em}.wildlife-card strong{display:block;font-size:15px;margin-top:2px}.wildlife-card small{display:block;color:#738078;font-size:9px;margin-top:2px}
.deer-card{right:330px;top:68px;transform:rotate(-3deg);animation:floatDeer 6s ease-in-out infinite}.bird-card{right:268px;bottom:40px;transform:rotate(4deg);animation:floatBird 7.5s ease-in-out infinite}
@keyframes floatDeer{50%{transform:rotate(-1.5deg) translateY(-12px)}}@keyframes floatBird{50%{transform:rotate(2.5deg) translateY(10px)}}

.public-showcase{position:relative;z-index:4;background:var(--paper);color:var(--darkink);padding:100px max(28px,calc((100vw - 1164px)/2))}
.showcase-head{text-align:center;max-width:800px;margin:0 auto 46px}.showcase-head .landing-eyebrow{color:var(--green)}.showcase-head h2{font-size:clamp(34px,5vw,60px);letter-spacing:-.05em;line-height:1.02;margin:0}
.showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.showcase-grid article{min-height:210px;border:1px solid #dde4df;border-radius:22px;padding:24px;background:linear-gradient(145deg,#fff,#f4f6f1);transition:.25s}.showcase-grid article:hover{transform:translateY(-4px);box-shadow:0 16px 42px rgba(18,53,45,.09)}.show-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#dfece5;color:var(--green);font-weight:900;font-size:19px}.showcase-grid h3{font-size:19px;margin:18px 0 7px}.showcase-grid p{font-size:13px;line-height:1.55;color:#65716b;margin:0}

.motion-band{position:relative;z-index:4;overflow:hidden;background:var(--lime);color:#17352b;padding:14px 0}.track{display:flex;align-items:center;gap:28px;width:max-content;font-size:12px;font-weight:900;letter-spacing:.12em;animation:marquee 32s linear infinite}.track i{font-style:normal;font-size:9px;opacity:.6}@keyframes marquee{to{transform:translateX(-50%)}}
.landing-footer{position:relative;z-index:4;background:#071713;padding:34px max(28px,calc((100vw - 1164px)/2));display:grid;grid-template-columns:auto 1fr;gap:6px 20px;align-items:center}.landing-footer strong{font-size:14px}.landing-footer span{font-size:12px;color:#a8bbb2}.landing-footer small{grid-column:1/-1;color:#71867c;font-size:9px;line-height:1.45}

@media(max-width:980px){
  .landing-main{grid-template-columns:1fr;gap:35px;padding-top:42px}.login-panel{max-width:520px;width:100%}.wildlife-card{display:none}.hero-copy h1{max-width:760px}.showcase-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .landing-topbar{padding:17px 15px}.access-pill{display:none}.landing-main{padding:42px 15px 64px;min-height:auto}.hero-copy h1{font-size:52px}.hero-lead{font-size:16px}.proof-row{display:grid;grid-template-columns:repeat(3,1fr)}.proof-row>div{min-width:0;padding:11px}.proof-row strong{font-size:22px}.proof-row span{font-size:8px}.feature-strip{gap:6px}.feature-strip span{font-size:10px}.login-panel{padding:23px 18px;border-radius:23px}.login-head h2{font-size:26px}.login-foot{display:grid;gap:5px}.public-showcase{padding:72px 15px}.showcase-grid{grid-template-columns:1fr}.showcase-grid article{min-height:0}.landing-footer{padding:28px 15px;grid-template-columns:1fr}.landing-footer small{grid-column:auto}.forest-photo{inset:-2%;background-position:58% 50%}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
