/* EndlingX - cinematic field journal. Layered scene, restrained motion. */
:root { --paper:#09120f; --paper-2:#101c16; --paper-3:#19261f; --ink:#f3f5ec; --ink-soft:#bcc7bc; --muted:#9baa9c; --muted-2:#8a998d; --line:#ffffff1c; --line-2:#ffffff30; --lime:#ccff00; --lime-ink:#ccff00; --r:10px; }
html { scroll-padding-top:90px; }
html.lenis { scroll-behavior:auto!important; }
body { background:var(--paper); }
.wrap { max-width:1440px; padding-inline:clamp(24px,5vw,80px); }
a:focus-visible,button:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--lime); outline-offset:6px; }
.skip-link { position:fixed; top:8px; left:24px; z-index:300; padding:10px 18px; background:var(--lime); color:#10170a; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.nav { background:#09120fbf; border-color:var(--line); }
.nav-in { height:84px; }
.brand b { font-size:1.1rem; letter-spacing:.08em; }
.brand svg { width:34px; height:34px; }
.brand .brand-logo,.foot-brand .brand-logo { display:block; width:40px; height:40px; flex:0 0 40px; object-fit:contain; }
.nav-links { gap:26px; }
.nav-links a { font-size:12px; letter-spacing:.07em; text-transform:none; }
.nav-links .nav-wl { color:#10170a; background:var(--lime); border:0; border-radius:4px; padding:12px 19px; box-shadow:none; }
.nav-net { color:var(--ink-soft); background:none; border:0; font-size:10px; letter-spacing:.08em; padding:0; }
.lang-switch { display:flex; align-items:center; gap:8px; color:var(--ink-soft); font:10px/1 'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.lang-switch select { appearance:none; min-width:48px; padding:7px 22px 7px 9px; border:1px solid var(--line-2); border-radius:4px; color:var(--ink); background:#142119 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath d='m1 1 3 3 3-3' fill='none' stroke='%23CCFF00' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 8px center; font:10px 'JetBrains Mono',monospace; cursor:pointer; }
.lang-switch select:focus-visible { outline:2px solid var(--lime); outline-offset:3px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.burger span { background:var(--ink); }
.hero { min-height:max(820px,100svh); padding:156px 0 145px; display:flex; align-items:center; isolation:isolate; }
.hero-video { opacity:.65; transform:scale(1.06) translate3d(var(--scene-x,0px),var(--scene-y,0px),0); }
.hero-veil { background:linear-gradient(90deg,#09120ff5 0%,#09120fce 31%,#09120f25 72%),linear-gradient(0deg,#09120f 0%,transparent 35%,#09120f55 100%); }
.hero .blob { display:none; }
.hero .wrap { width:100%; z-index:3; pointer-events:none; }
.hero .wrap a,.hero .wrap button { pointer-events:auto; }
.eyebrow { background:none; border:0; border-radius:0; padding:0; font-size:12px; letter-spacing:.17em; color:var(--lime); margin-bottom:28px; }
.eyebrow .dot { animation:none; background:var(--lime); width:6px; height:6px; }
.hero h1 { max-width:720px; font-size:clamp(64px,7.5vw,108px); line-height:.98; font-weight:600; letter-spacing:-.065em; text-wrap:initial; }
.hero h1 em { background:none; padding:0; color:var(--lime); border-radius:0; font-style:normal; }
.hero .lead { max-width:465px; font-size:16px; line-height:1.8; margin-top:30px; color:#bfcabf; }
.hero-ctas { gap:22px; margin-top:32px; align-items:center; }
.btn { border-radius:4px; font-family:Inter,sans-serif; font-size:14px; font-weight:600; padding:16px 23px; }
.btn-ink { background:var(--lime); color:#111907; }
.btn-ink:hover { background:#dcff61; box-shadow:0 8px 35px #ccff0020; }
.btn-line { background:transparent; border-color:var(--line-2); }
.hero .btn-line { border:0; padding-inline:0; color:var(--ink); }
.stats { margin-top:48px; gap:28px; }
.stat { padding-right:28px; border-right:1px solid var(--line-2); }
.stat:last-child { border:0; padding:0; }
.stat b { font-family:Archivo,sans-serif; font-size:25px; letter-spacing:-.03em; font-weight:600; }
.stat span { font-family:Inter,sans-serif; font-size:12px; letter-spacing:0; text-transform:none; margin-top:6px; }
.owl-observer { position:absolute; width:min(90vw,1037px); right:-8vw; bottom:95px; margin:0; transform:none; opacity:1; filter:drop-shadow(0 25px 25px #0008); z-index:2; }
.owl-frame { background-position:center; will-change:auto; transition:none; }
.owl-frame-back { opacity:0; pointer-events:none; }
#owlBack { display:block; opacity:0; pointer-events:none; }
.specimen-note { position:absolute; right:7%; bottom:24px; z-index:4; display:flex; gap:24px; align-items:center; width:auto; }
.specimen-note::before { content:''; width:42px; height:1px; background:var(--lime); }
.specimen-note span { display:block; color:var(--muted); font:12px/1.8 'JetBrains Mono',monospace; }
.specimen-note b { display:block; font-size:16px; font-weight:500; }
.specimen-note .owl-hint { padding-left:24px; border-left:1px solid var(--line-2); font-family:Inter,sans-serif; max-width:180px; animation:owlHintBreathe 2.8s ease-in-out infinite; }
@keyframes owlHintBreathe { 0%,100% { opacity:.66; transform:translateY(0); } 50% { opacity:1; transform:translateY(-4px); } }
.hero-foot { position:absolute; bottom:38px; left:5vw; z-index:4; color:var(--muted); font:11px/1.8 'JetBrains Mono',monospace; letter-spacing:.12em; }
.owl-info { position:absolute; right:4vw; bottom:30px; z-index:4; width:min(500px,42vw); display:grid; grid-template-columns:1fr 1.15fr; gap:24px; align-items:start; border-top:1px solid var(--line-2); padding-top:14px; }
.owl-info .mono { display:block; color:var(--lime); font:10px/1.4 'JetBrains Mono',monospace; letter-spacing:.12em; }
.owl-info-species strong { display:block; margin-top:7px; font-size:18px; font-weight:500; color:var(--ink); }
.owl-info-species em { display:block; margin-top:2px; color:var(--muted); font:12px/1.4 'JetBrains Mono',monospace; }
.owl-info-copy { padding-left:20px; border-left:1px solid var(--line-2); }
.owl-info-copy p { margin:7px 0 0; color:var(--ink-soft); font-size:13px; line-height:1.55; }

.scroll-ind { display:none; }
.marquee { background:#ccff00; border:0; padding:15px 0; }
.marquee span,.marquee span.hot { color:#283809; font-size:11px; letter-spacing:.13em; }
.marquee span::after { background:#293e08; }
.biomasec { min-height:0; padding:112px 0; scroll-margin-top:84px; }
.biomasec .bio-video { opacity:.10; }
.biomasec .bio-veil { background:linear-gradient(0deg,#09120fee,#09120f66 50%,#09120fee); }
.biomasec:nth-of-type(even) { background:#101b16; }
.sec-kicker { font-size:12px; letter-spacing:.13em; margin-bottom:22px; }
.sec-row { align-items:end; flex-wrap:nowrap; gap:70px; }
.sec-head h2,.faq-head h2 { font-size:clamp(34px,4.2vw,58px); font-weight:600; letter-spacing:-.045em; line-height:1.06; max-width:680px; }
.sec-row p { max-width:350px; font-size:14px; line-height:1.8; margin:0; }
.card-grid { gap:22px; margin-top:52px; }
.specimen-card { min-width:0; }
.card-caption { display:flex; align-items:start; justify-content:space-between; gap:8px; margin-top:20px; }
.card-caption h3 { font-family:Inter,sans-serif; font-size:15px; font-weight:500; letter-spacing:-.02em; }
.card-caption p,.card-caption>span { color:var(--muted); font:11px/1.7 'JetBrains Mono',monospace; }
.flip { max-height:none; outline-offset:6px; perspective:1200px; }
.card-tilt { height:100%; transform-style:preserve-3d; transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .22s ease-out; }
.flip-inner { transition:transform .75s cubic-bezier(.22,.7,.15,1); }
.face { border:1px solid #ffffff25; border-radius:8px; box-shadow:0 18px 50px #0003; }
.front img,.flip:hover .front img { transform:scale(1); }
.front::after { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,0%),#ffffff38,transparent 60%); opacity:0; transition:opacity .3s; }
.flip:hover .front::after { opacity:1; }
.tap { animation:none; font-size:10px; padding:7px 12px; border:0; color:#111907; background:#eff4eae8; }
.tap svg { stroke:#111907; }
.tier-pill { font-size:10px; letter-spacing:.05em; padding:7px 10px; }
.tier-pill.t-rare,.tier-pill.t-com { color:#17251c; background:#f3f5ec; }
.face.back { background:#17251c; color:var(--ink); padding:22px; }
.back .sci,.back .foot .n { color:var(--muted); }
.back .storybox { color:var(--ink-soft); font-size:13px; line-height:1.6; overflow:auto; }
.back .id-chip { background:#263627; color:var(--lime); }
.back a.iucn { background:var(--lime); color:#142008; padding:4px 7px; border-radius:3px; font-size:10px; letter-spacing:.04em; }
.tiers { gap:0; border-block:1px solid var(--line-2); }
.tier-box,.tier-box.hi { background:none; border:0; border-right:1px solid var(--line-2); border-radius:0; padding:32px 28px; box-shadow:none; }
.tier-box:last-child { border-right:0; }
.tier-box::before,.tier-box::after { display:none; }
.tier-box b { font-size:20px; }
.tier-box.hi b { color:var(--lime); }
.tier-box .q { color:var(--muted); font-size:14px; }
.tier-box .q::after { display:none; }
.tier-box p { color:var(--ink-soft); font-size:14px; }
.steps { gap:0; }
.step { background:none; border:0; border-top:1px solid var(--line-2); border-radius:0; padding:28px 30px 0 0; box-shadow:none; }
.step .n { font-size:12px; color:var(--lime); }
.step h3 { font-size:25px; margin-top:20px; }
.step p { font-size:15px; color:var(--ink-soft); }
.faq-wrap { gap:100px; }
.faq-head p { font-size:15px; color:var(--ink-soft); }
.faq-item { background:none; border:0; border-bottom:1px solid var(--line-2); border-radius:0; }
.faq-q { padding:23px 0; color:var(--ink); font-size:16px; }
.faq-q .chev { background:transparent; border:1px solid var(--line-2); color:var(--lime); }
.faq-a>div { padding-inline:0; }
.faq-a p { color:var(--ink-soft); }
.cta-band { border-block:1px solid var(--line-2); text-align:center; padding:100px 0; }
.cta-band h2 { font-size:clamp(40px,5vw,68px); letter-spacing:-.05em; }
.cta-band h2 em { color:var(--lime); background:none; padding:0; }
.cta-band p { color:var(--ink-soft); }
footer { background:#070e0b; border-color:var(--line-2); }
.site-footer { padding-top:0; }
.footer-main { display:grid; grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(130px,1fr)); gap:clamp(28px,5vw,84px); padding:72px clamp(24px,5vw,80px) 58px; }
.footer-brand-col { max-width:390px; }
.footer-brand-col .foot-brand { margin-bottom:22px; }
.footer-brand-col .foot-brand svg { width:32px; height:32px; }
.footer-kicker,.footer-label { display:block; color:var(--lime); font:10px/1.4 'JetBrains Mono',monospace; letter-spacing:.16em; text-transform:uppercase; }
.footer-brand-col p { max-width:340px; margin:14px 0 24px; color:var(--muted); font-size:14px; line-height:1.75; }
.footer-socials { display:flex; flex-wrap:wrap; gap:10px; }
.footer-socials a { display:inline-flex; align-items:center; gap:9px; padding:10px 13px; border:1px solid var(--line-2); border-radius:4px; color:var(--ink-soft); text-decoration:none; font-size:11px; transition:color .25s,border-color .25s,transform .25s,background .25s; }
.footer-socials a:hover { color:var(--ink); border-color:var(--lime); background:#ccff000c; transform:translateY(-2px); }
.footer-socials a svg { width:13px; height:13px; color:var(--lime); }
.social-icon { display:inline-grid; place-items:center; width:18px; height:18px; color:var(--lime); font-size:16px; font-weight:700; line-height:1; }
.social-icon svg { width:17px!important; height:17px!important; display:block; }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.footer-column a,.footer-network { color:var(--muted); text-decoration:none; font-size:13px; line-height:1.4; transition:color .2s,transform .2s; }
.footer-column a:hover { color:var(--ink); transform:translateX(3px); }
.footer-network { margin-top:12px; color:var(--lime); font:10px/1.6 'JetBrains Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.footer-language { gap:14px; }
.footer-lang-switch { font-size:11px; }
.footer-lang-switch select { min-width:116px; padding:10px 28px 10px 12px; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding:20px clamp(24px,5vw,80px) 28px; border-top:1px solid var(--line-2); color:#5f7189; font:10px/1.5 'JetBrains Mono',monospace; letter-spacing:.08em; }
.footer-bottom span:last-child { color:var(--muted); }
.whitelist-footer { position:relative; z-index:2; }
.preloader { display:none; }
.grain { opacity:.025; pointer-events:none; }
.reveal,.reveal-l,.reveal-r,.reveal-down { transform:translateY(20px); transition:opacity .7s ease,transform .7s cubic-bezier(.22,.7,.15,1); }
[data-motion] > .wrap { will-change:transform,opacity; }
.hero.motion-pulse > .wrap { animation:motionHome 1.2s cubic-bezier(.16,1,.3,1); }
.biomasec[data-motion] > .wrap { opacity:0; transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.16,1,.3,1); }
.biomasec[data-motion="cards"] > .wrap { transform:translate3d(-100px,0,0); }
.biomasec[data-motion="rarities"] > .wrap { transform:translate3d(100px,0,0); }
.biomasec[data-motion="method"] > .wrap { transform:translate3d(0,-100px,0); }
.biomasec[data-motion="faq"] > .wrap { transform:scale(.8); }
.biomasec.motion-visible > .wrap { opacity:1; transform:none; }
.biomasec.motion-pulse[data-motion="cards"] > .wrap { animation:motionCards 1.2s cubic-bezier(.16,1,.3,1); }
.biomasec.motion-pulse[data-motion="rarities"] > .wrap { animation:motionRarities 1.2s cubic-bezier(.16,1,.3,1); }
.biomasec.motion-pulse[data-motion="method"] > .wrap { animation:motionMethod 1.2s cubic-bezier(.16,1,.3,1); }
.biomasec.motion-pulse[data-motion="faq"] > .wrap { animation:motionFaq 1.2s cubic-bezier(.16,1,.3,1); }
@keyframes motionCards { 0%{opacity:.35;transform:translate3d(-100px,0,0)} 100%{opacity:1;transform:none} }
@keyframes motionRarities { 0%{opacity:.35;transform:translate3d(100px,0,0)} 100%{opacity:1;transform:none} }
@keyframes motionMethod { 0%{opacity:.35;transform:translate3d(0,-100px,0)} 100%{opacity:1;transform:none} }
@keyframes motionFaq { 0%{opacity:.35;transform:scale(.8)} 100%{opacity:1;transform:none} }
@keyframes motionHome { 0%{opacity:.45;transform:scale(.985) translateY(18px)} 100%{opacity:1;transform:none} }
.page-wipe { position:fixed; inset:0; z-index:400; pointer-events:none; background:var(--paper); opacity:0; }
.page-wipe.is-leaving { animation:pageWipe .26s ease-out forwards; }
@keyframes pageWipe { to { opacity:1; } }
@media(min-width:1081px) { .card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:1100px) { .nav-net { display:none; } .hero h1 { font-size:80px; } .hero .lead { max-width:420px; } .stats { gap:20px; } .stat { padding-right:20px; } .owl-observer { width:min(81vw,851px); right:-4vw; bottom:145px; } .owl-info { right:4vw; width:min(470px,46vw); } .specimen-note { right:7%; bottom:24px; } }
@media(max-width:900px) {
 .nav-in { height:72px; } .nav-links { background:#101c16; border-color:var(--line-2); } .nav-links a { font-size:14px; } .nav-links .lang-switch { margin-top:4px; }
 .hero { min-height:1060px; display:block; padding:130px 0 470px; } .hero .wrap { text-align:left; }
 .hero h1 { font-size:clamp(62px,10vw,84px); max-width:680px; } .hero .lead { max-width:520px; }
 .owl-observer { width:810px; max-width:none; right:calc(50% - 405px); bottom:135px; } .owl-info { bottom:34px; right:6%; width:88%; } .specimen-note { left:6%; right:auto; bottom:30px; width:88%; display:flex; gap:18px; align-items:center; } .specimen-note .owl-hint { padding:0 0 0 18px; border-left:1px solid var(--line-2); border-top:0; max-width:220px; } .hero-foot { display:none; }
 .sec-row { flex-wrap:wrap; gap:22px; } .sec-row p { max-width:560px; } .biomasec { padding:80px 0; }
 .tiers { grid-template-columns:repeat(2,1fr); } .tier-box:nth-child(2) { border-right:0; } .tier-box:nth-child(-n+2) { border-bottom:1px solid var(--line-2); }
 .faq-wrap { gap:35px; } .stats { margin-top:34px; } .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px 28px; padding:56px 24px 44px; } .footer-brand-col { grid-column:1/-1; max-width:520px; }
}
@media(max-width:600px) {
 .hero { min-height:930px; padding:110px 0 405px; } .hero h1 { font-size:clamp(44px,11.8vw,68px); letter-spacing:-.05em; } .hero .lead { font-size:14px; margin-top:24px; }
 .eyebrow { font-size:10px; letter-spacing:.11em; } .hero-ctas { gap:12px; margin-top:24px; } .btn { font-size:12px; padding:15px 15px; }
 .stats { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; } .stat { padding:0; border:0; } .stat b { font-size:22px; } .stat span { font-size:10px; }
 .owl-observer { width:664px; right:calc(50% - 332px); bottom:125px; } .owl-info { left:24px; right:24px; bottom:18px; width:auto; grid-template-columns:1fr 1.25fr; gap:14px; } .specimen-note { left:24px; right:24px; bottom:26px; width:auto; gap:12px; } .specimen-note span { font-size:10px; } .specimen-note b { font-size:14px; } .specimen-note .owl-hint { padding-left:12px; max-width:170px; } .owl-info-copy { padding-left:14px; }
 .owl-info .mono { font-size:9px; } .owl-info-species strong { font-size:15px; } .owl-info-copy p { font-size:12px; }
 .sec-head h2,.faq-head h2 { font-size:38px; } .card-grid { max-width:400px; gap:34px; } .card-caption h3 { font-size:16px; }
 .tier-box,.tier-box.hi { padding:24px 16px; } .tier-box b { font-size:18px; } .tier-box p { font-size:13px; } .steps { gap:30px; }
 .faq-q { font-size:15px; } .hero-veil { background:linear-gradient(180deg,#09120fe8,#09120fbb 38%,#09120f44 70%,#09120f); } .footer-main { grid-template-columns:1fr 1fr; } .footer-bottom { flex-direction:column; gap:8px; } .footer-socials a { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition-duration:.01ms!important; }
 /* Keep the short viewport entrance choreography visible. */
 .reveal { opacity:0!important; transform:translateY(44px)!important; transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)!important; }
 .reveal.in { opacity:1!important; transform:none!important; }
 .reveal-l { opacity:0!important; transform:translateX(-56px)!important; transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1)!important; }
 .reveal-l.in { opacity:1!important; transform:none!important; }
 .reveal-r { opacity:0!important; transform:translateX(56px)!important; transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1)!important; }
 .reveal-r.in { opacity:1!important; transform:none!important; }
 .reveal-z { opacity:0!important; transform:scale(.94)!important; transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)!important; }
 .reveal-z.in { opacity:1!important; transform:scale(1)!important; }
 .reveal-down { opacity:0!important; transform:translateY(-44px)!important; transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1)!important; }
 .reveal-down.in { opacity:1!important; transform:none!important; }
 .stagger > * { opacity:0!important; transform:translateY(44px)!important; transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)!important; }
 .stagger.in > * { opacity:1!important; transform:none!important; }
 .hero-video,.card-tilt { transform:none!important; }
 .biomasec[data-motion] > .wrap { transition-duration:1.2s!important; }
 /* Navigation feedback remains available even when the OS preference is reduced;
    long-running/parallax effects above remain disabled. */
 .hero.motion-pulse > .wrap { animation:motionHome 1.2s cubic-bezier(.16,1,.3,1)!important; }
 .biomasec.motion-pulse[data-motion="cards"] > .wrap { animation:motionCards 1.2s cubic-bezier(.16,1,.3,1)!important; }
 .biomasec.motion-pulse[data-motion="rarities"] > .wrap { animation:motionRarities 1.2s cubic-bezier(.16,1,.3,1)!important; }
 .biomasec.motion-pulse[data-motion="method"] > .wrap { animation:motionMethod 1.2s cubic-bezier(.16,1,.3,1)!important; }
 .biomasec.motion-pulse[data-motion="faq"] > .wrap { animation:motionFaq 1.2s cubic-bezier(.16,1,.3,1)!important; }
 .specimen-note .owl-hint { animation:owlHintBreathe 2.8s ease-in-out infinite!important; }
 .page-wipe { display:block; }
 .page-wipe.is-leaving { animation:pageWipe .32s cubic-bezier(.76,0,.24,1) forwards!important; }
}
