/* CodeJungle — visual layer built on top of the existing responsive layout. */
:root{
  --ink:#06130d;--paper:#edf5e8;--orange:#ff8a1f;--green:#b9ff38;
  --purple:#8f7cff;--blue:#5fe3c0;--muted:#627269;--line:#aac2ae;--white:#f7fff1;
  --jungle:#0c2a19;--moss:#16482b;--mint:#7bf7b2;--acid:#c6ff3e;
}
html{scroll-behavior:smooth;background:var(--ink)}
body{background:var(--paper);overflow-x:hidden}
body::selection{background:var(--acid);color:var(--ink)}
.noise{opacity:.055;mix-blend-mode:multiply}
.jungle-atmosphere{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:.22}
.jungle-atmosphere i{position:absolute;width:42vw;height:42vw;border:1px solid #5fe3c055;border-radius:42% 58% 65% 35%;filter:blur(1px);animation:jungleOrbit 24s linear infinite}
.jungle-atmosphere i:nth-child(1){left:-22vw;top:8vh}.jungle-atmosphere i:nth-child(2){right:-28vw;top:38vh;animation-direction:reverse;animation-duration:31s}.jungle-atmosphere i:nth-child(3){left:32vw;bottom:-35vw;animation-duration:38s}
.jungle-atmosphere span{position:absolute;color:#0f4228;font:800 clamp(3rem,8vw,8rem)/1 ui-monospace,monospace;opacity:.12}
.jungle-atmosphere span:nth-of-type(1){top:18%;left:3%;transform:rotate(-12deg)}.jungle-atmosphere span:nth-of-type(2){top:48%;right:2%;transform:rotate(12deg)}.jungle-atmosphere span:nth-of-type(3){bottom:8%;left:46%}
@keyframes jungleOrbit{to{transform:rotate(360deg)}}
main,.portfolio-footer{position:relative;z-index:2}
.site-header{position:fixed!important;z-index:50;background:#06130dea!important;color:#efffe9!important;border-bottom:1px solid #75b68a55!important;backdrop-filter:blur(18px);box-shadow:0 10px 40px #001b0d35}
.brand{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.04em}.brand>span:last-child>span{color:var(--acid)}
.brand-mark{background:var(--acid)!important;color:var(--ink)!important;border-radius:12px 3px 12px 3px!important;font:900 .72rem/1 ui-monospace,monospace!important;box-shadow:0 0 24px #b9ff3866;transform:rotate(-5deg)}
.site-header nav a{color:#d6e7da}.site-header nav a:hover,.site-header nav a[aria-current="page"]{color:var(--acid)}
.button,.round-cta{background:var(--acid)!important;color:var(--ink)!important;border-color:var(--ink)!important;box-shadow:5px 5px 0 var(--ink);transition:transform .2s,box-shadow .2s,background .2s}
.button:hover,.round-cta:hover{background:var(--mint)!important;transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}
.hero{background:
 radial-gradient(circle at var(--mx,72%) var(--my,32%),#35ff8350 0,transparent 24%),
 linear-gradient(125deg,#06130d 0%,#0b2718 48%,#123d24 100%)!important;color:#efffe9!important;min-height:min(880px,calc(100vh - 78px));overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#8effb90a 1px,transparent 1px),linear-gradient(90deg,#8effb90a 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
.hero::after{content:"CODEJUNGLE / 01";position:absolute;right:-1.5rem;bottom:2rem;color:#b9ff3818;font:900 clamp(4rem,12vw,11rem)/.8 ui-monospace,monospace;letter-spacing:-.1em;white-space:nowrap;pointer-events:none}
.hero-copy,.hero-visual{position:relative;z-index:1}
.eyebrow{font-family:ui-monospace,monospace!important;color:#b8d6c2!important}.status-dot{background:var(--acid)!important;box-shadow:0 0 14px var(--acid)}
.hero-title{font-weight:950;letter-spacing:-.085em!important;text-shadow:0 10px 45px #0008}
.hero-title em{color:var(--acid)!important;font-style:normal!important;-webkit-text-stroke:0!important}.hero-title i{color:var(--mint)!important;font-style:normal}
.hero-bottom>p{color:#bbd1c1!important;border-left:2px solid var(--acid);padding-left:1rem}
.hero-visual{isolation:isolate}.hero-visual::before,.hero-visual::after{content:"";position:absolute;border:1px solid #aaff7b44;inset:8%;border-radius:48% 52% 35% 65%;animation:jungleOrbit 18s linear infinite}.hero-visual::after{inset:20%;animation-direction:reverse;animation-duration:13s}
.orbit{border-color:#73f3a544!important}.orbit::before{background:var(--acid)!important;box-shadow:0 0 24px var(--acid)}
.code-window{background:#07130d!important;color:#dfffe6!important;border:1px solid #69e89b66!important;box-shadow:0 40px 90px #0009,0 0 80px #1cff6d14!important;transform:rotate(-2deg);transition:transform .2s ease}
.window-bar{background:#10291a!important;border-color:#386348!important;color:#83a98e!important}.window-bar span:first-child{background:#ff6b57!important}.window-bar span:nth-child(2){background:#ffc343!important}.window-bar span:nth-child(3){background:var(--acid)!important}
.c-purple{color:#9f8cff!important}.c-orange{color:#ffb45f!important}.c-green{color:#7dffaf!important}.c-muted{color:#668b72!important}.build-pill{background:var(--acid)!important;color:var(--ink)!important;box-shadow:0 0 32px #b9ff3844}.build-pill span{background:#10863d!important}
.sticker-one{background:var(--orange)!important;color:var(--ink)!important}.sticker-two{background:var(--purple)!important;color:var(--ink)!important;font-family:ui-monospace,monospace!important}.pixel-crop{color:var(--mint)!important;filter:drop-shadow(0 0 15px #5fe3c0)}
.ticker{background:var(--acid)!important;color:var(--ink)!important;border-color:var(--ink)!important}.ticker b{color:#14733a!important}
.section-label{color:#168348!important;font-family:ui-monospace,monospace!important}.intro{background:linear-gradient(180deg,#edf5e8,#e5f1df)}.intro h2,.offer h2,.services h2,.process h2,.contact h2,.portfolio-page h1,.portfolio-page h2{letter-spacing:-.075em!important}.scribble{color:#0f7b3a!important}.intro-copy p:first-child{font-size:1.25rem;font-weight:750;color:#183a25}
.offer{background:#07150e!important;color:#eaffec!important;position:relative;overflow:hidden}.offer::before{content:"";position:absolute;right:-10%;top:-15%;width:50vw;height:50vw;border-radius:50%;background:radial-gradient(circle,#65ff9b20,transparent 68%)}.offer>*{position:relative}.offer .section-label{color:var(--acid)!important}.offer-head h2 i{color:var(--acid)!important}.zero-stamp{background:var(--acid)!important;color:var(--ink)!important;box-shadow:10px 10px 0 #1c5331!important}.offer-intro{border-color:#345740!important}.offer-intro p{color:#bcd0c1!important}.usp-card{background:#10291a!important;border-color:#31543e!important;color:#eaffec!important;transition:transform .25s,border-color .25s,background .25s}.usp-card:hover{transform:translateY(-8px);border-color:var(--acid)!important;background:#153923!important}.usp-card>span{color:var(--acid)!important}.usp-card p{color:#a9c1af!important}.capacity-card{background:linear-gradient(120deg,var(--acid),#7df5a5)!important;color:var(--ink)!important;border-color:var(--ink)!important}
.work,.services{background:#edf5e8!important}.project-art{border-color:var(--ink)!important;box-shadow:9px 9px 0 #0b2d1a!important}.art-one{background:linear-gradient(135deg,#8effa7,#11623a)!important}.art-two{background:linear-gradient(150deg,#102c1b,#8f7cff)!important}.art-three{background:linear-gradient(135deg,#b9ff38,#ff8a1f)!important}.project-arrow,.case-open{background:var(--acid)!important;color:var(--ink)!important}.filter.active{background:var(--ink)!important;color:var(--acid)!important}
.services{background:linear-gradient(180deg,#edf5e8,#dcebd7)!important}.services-head span{color:#178a48!important}.service-item{border-color:#9fbaa5!important;transition:background .25s,padding .25s,color .25s}.service-item:hover,.service-item:focus{background:#0d2b1a!important;color:#efffe9!important;padding-inline:1.25rem}.service-item:hover p,.service-item:focus p{color:#b5cab9!important}.service-item>b{color:#158a47!important}.service-item:hover>b{color:var(--acid)!important}
.process{background:#0a2014!important;color:#efffe9!important}.process .section-label{color:var(--acid)!important}.process-intro h2 i{color:var(--mint)!important}.process-step{background:#102d1c!important;border-color:#315943!important;box-shadow:6px 6px 0 #030a06!important}.process-step:nth-child(even){transform:translateY(2rem)}.process-step>span{color:var(--acid)!important}.step-icon{background:var(--acid)!important;color:var(--ink)!important}
.estimator{background:linear-gradient(115deg,var(--acid) 0 62%,#55e995 62%)!important}.estimator-copy h2 span{color:#0d6935!important}.estimator .button{background:var(--ink)!important;color:white!important;box-shadow:6px 6px 0 #267846!important}
.contact{background:#06130d!important;color:#f0ffef!important}.contact-marquee{background:#11331f!important;color:var(--acid)!important;border-color:#315b40!important}.contact-marquee span{color:var(--mint)!important}.contact .section-label{color:var(--acid)!important}.contact h2 i{color:var(--mint)!important}.contact-lead{color:#b5cbb9!important}
.contact-form{background:#edf5e8!important;color:var(--ink)!important;border-color:var(--acid)!important;box-shadow:12px 12px 0 #153e26!important}.funnel-progress{background:#bfd1c2!important}.funnel-progress span{background:linear-gradient(90deg,#17a652,var(--acid))!important}.funnel-number{color:#158b47!important}.funnel-options button,.option-card{border-color:#91ad97!important}.funnel-options button:hover,.funnel-options button.is-selected,.option-card:hover,.funnel-option-checks input:checked+.option-card{background:var(--acid)!important;color:var(--ink)!important;border-color:var(--ink)!important;box-shadow:4px 4px 0 var(--ink)!important}.funnel-zero-summary{background:#0c2d1b!important;color:white!important}.funnel-zero-summary strong{color:var(--acid)!important}
footer,.portfolio-footer{background:#041009!important;color:#dff0e1!important;border-color:#284a34!important}.footer-links a:hover{color:var(--acid)!important}
.portfolio-page{background:#eaf3e6!important}.portfolio-hero{background:linear-gradient(125deg,#07140e,#123e25)!important;color:#efffe9!important;position:relative;overflow:hidden}.portfolio-hero::after{content:"SHOWCASE";position:absolute;right:-2rem;bottom:-1rem;color:#b9ff3813;font:900 9rem/1 ui-monospace,monospace}.portfolio-hero em{color:var(--acid)!important}.portfolio-hero-card{background:var(--acid)!important;color:var(--ink)!important;box-shadow:12px 12px 0 #183f28!important}.portfolio-intro i,.portfolio-case-copy>span{color:#128342!important}.portfolio-case-copy li::marker{color:#18a957}.portfolio-cta{background:#0a2014!important;color:#efffe9!important}.portfolio-cta i{color:var(--acid)!important}
.landing-page{background:radial-gradient(circle at 50% 10%,#194d2c,#06130d 60%)!important;min-height:100vh}.landing-page .landing-hero{background:transparent!important}.funnel-brand b{color:var(--ink)}
.cursor-dot{background:var(--acid)!important}.cursor-ring{border-color:#1d9c50!important}.cursor-ring.hover{background:#b9ff3830!important;border-color:var(--acid)!important}
.jungle-progress{position:fixed;right:7px;top:88px;bottom:18px;width:3px;background:#6d997648;z-index:90;pointer-events:none}.jungle-progress i{display:block;width:100%;height:100%;background:linear-gradient(var(--acid),var(--mint));transform:scaleY(0);transform-origin:top;box-shadow:0 0 12px var(--acid)}.build-pill{transition:opacity .18s,transform .18s}.build-pill.switching{opacity:.25;transform:translateY(4px)}
.reveal.visible{animation:jungleReveal .65s cubic-bezier(.2,.8,.2,1) both}@keyframes jungleReveal{from{opacity:0;transform:translateY(28px) scale(.985);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@media(max-width:900px){.hero{min-height:auto}.hero::after{font-size:5rem}.process-step:nth-child(even){transform:none}.jungle-atmosphere{opacity:.12}}
@media(max-width:640px){.site-header{background:#06130df5!important}.hero{background:radial-gradient(circle at 75% 15%,#237b4050,transparent 30%),linear-gradient(155deg,#06130d,#123923)!important}.hero-title{font-size:clamp(3.1rem,17vw,5.4rem)!important}.hero-bottom>p{font-size:1rem}.sticker-one{right:0!important}.offer,.process{border-radius:0}.portfolio-hero::after{font-size:4rem}.contact-form{box-shadow:6px 6px 0 #153e26!important}.jungle-progress{right:3px;top:68px;bottom:8px}}
@media(prefers-reduced-motion:reduce){.jungle-atmosphere i{animation:none}.reveal.visible{animation:none}}

/* Cartoon jungle layer */
.jungle-atmosphere i{border:2px solid #5fe3c044;border-radius:8% 92% 12% 88%;background:linear-gradient(135deg,#72ff9b0d,#0b6b3512);filter:blur(.2px);box-shadow:inset 0 0 0 1px #b9ff3810}
.cartoon-vine{position:absolute;right:-8%;top:-18%;height:130%;width:58%;overflow:visible;z-index:-1;filter:drop-shadow(8px 10px 0 #03100955)}
.cartoon-vine path:first-child{stroke:#58d978;stroke-width:12;stroke-linecap:round}
.cartoon-vine path:last-child{fill:#b9ff38;stroke:#06130d;stroke-width:4;stroke-linejoin:round}
.jungle-mascot{position:absolute;right:2%;bottom:2%;width:128px;height:118px;background:var(--acid);border:4px solid var(--ink);border-radius:48% 52% 44% 56%;box-shadow:8px 9px 0 #041009;z-index:4;animation:mascotBob 3s ease-in-out infinite}
.mascot-face{position:absolute;inset:22px 19px 17px;display:grid;grid-template-columns:1fr 1fr;gap:22px;align-content:start}.mascot-face i{width:13px;height:17px;background:var(--ink);border-radius:50%;box-shadow:inset 3px 3px #fff}.mascot-face b{grid-column:1/-1;font:900 1rem ui-monospace,monospace;text-align:center}.mascot-leaf{position:absolute;width:48px;height:28px;left:40px;top:-24px;background:#59df7f;border:4px solid var(--ink);border-radius:100% 0 100% 0;transform:rotate(-24deg)}.jungle-mascot>span{position:absolute;right:-28px;top:-34px;background:white;color:var(--ink);border:3px solid var(--ink);border-radius:50% 50% 50% 8px;padding:.55rem .65rem;font:900 .65rem ui-monospace,monospace;transform:rotate(8deg)}
.usp-card{border:2px solid #31543e!important;border-radius:26px 8px 26px 8px;box-shadow:6px 7px 0 #020b06!important}.usp-card:nth-child(even){border-radius:8px 26px 8px 26px}.usp-card:hover{transform:translateY(-8px) rotate(-1deg)}.capacity-card{border:3px solid var(--ink)!important;border-radius:30px 8px 30px 8px}
.process-step{border:2px solid #315943!important;border-radius:34px 10px 34px 10px;box-shadow:7px 8px 0 #030a06!important}.process-step:nth-child(even){border-radius:10px 34px 10px 34px}.step-icon{border:3px solid var(--ink)!important;border-radius:50%!important;box-shadow:4px 4px 0 #000}
@keyframes mascotBob{0%,100%{translate:0 0;rotate:-2deg}50%{translate:0 -10px;rotate:2deg}}
@media(max-width:640px){.jungle-mascot{width:96px;height:88px;right:0}.mascot-face{inset:18px 14px 10px;gap:18px}.mascot-face i{width:10px;height:13px}.mascot-leaf{left:30px}.jungle-mascot>span{display:none}.cartoon-vine{right:-18%;opacity:.75}}
@media(prefers-reduced-motion:reduce){.jungle-mascot{animation:none}}
.hero-copy::after{content:"";position:absolute;width:110px;height:58px;right:-2%;top:13%;background:#35c76c;border:4px solid #06130d;border-radius:100% 0 100% 0;rotate:24deg;opacity:.72;box-shadow:18px 28px 0 -4px #b9ff38,18px 28px 0 0 #06130d;z-index:-1}
@media(max-width:640px){.hero-copy::after{width:86px;height:44px;right:-42px;top:20%;opacity:.45;box-shadow:13px 22px 0 -4px #b9ff38,13px 22px 0 0 #06130d}}

/* Scroll journey through the cartoon jungle */
.jungle-world{position:fixed;inset:0;z-index:8;pointer-events:none;overflow:hidden;translate:0 var(--world-y,0);rotate:var(--world-turn,0deg);transition:filter .7s ease}
.canopy{position:absolute;top:76px;width:min(34vw,480px);height:240px;filter:drop-shadow(8px 12px 0 #03100966)}.canopy-left{left:-70px}.canopy-right{right:-70px;transform:scaleX(-1)}
.canopy i{position:absolute;width:160px;height:82px;background:#1f8a49;border:4px solid #06130d;border-radius:100% 0 100% 0;transform-origin:10% 90%}.canopy i:nth-child(1){left:0;top:0;rotate:18deg}.canopy i:nth-child(2){left:95px;top:-22px;rotate:45deg;background:#2fbd62}.canopy i:nth-child(3){left:155px;top:54px;rotate:72deg;background:#b9ff38}.canopy i:nth-child(4){left:25px;top:92px;rotate:-5deg;background:#52d47c}
.side-vine{position:absolute;top:12%;width:12px;height:46vh;background:#238849;border:3px solid #06130d;border-radius:20px;transform-origin:top;animation:vineSway 5s ease-in-out infinite}.side-vine::before,.side-vine::after{content:"";position:absolute;width:55px;height:30px;background:#62df82;border:3px solid #06130d;border-radius:100% 0 100% 0}.side-vine::before{left:-50px;top:34%;rotate:18deg}.side-vine::after{right:-50px;top:66%;rotate:195deg;background:#b9ff38}.vine-a{left:2.5%;rotate:-4deg}.vine-b{right:3%;top:34%;height:38vh;rotate:5deg;animation-delay:-2.2s}
.fireflies{position:absolute;inset:0}.fireflies i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#eaff77;box-shadow:0 0 7px 3px #b9ff3877;animation:firefly 4s ease-in-out var(--delay) infinite alternate}
@keyframes vineSway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}
@keyframes firefly{0%{translate:-12px 8px;opacity:.1}45%{opacity:1}100%{translate:18px -14px;opacity:.3}}
.journey-zone{position:relative;isolation:isolate}.journey-zone>.zone-foliage{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden}.zone-foliage i{position:absolute;width:100px;height:54px;background:#249a50;border:3px solid #06130d;border-radius:100% 0 100% 0;filter:drop-shadow(5px 6px 0 #06130d55);transition:transform .5s cubic-bezier(.2,.8,.2,1)}.zone-foliage i:nth-child(1){left:-45px;top:8%;rotate:36deg}.zone-foliage i:nth-child(2){right:-42px;top:21%;rotate:210deg;background:#b9ff38}.zone-foliage i:nth-child(3){left:-52px;top:58%;rotate:18deg;background:#59d877}.zone-foliage i:nth-child(4){right:-48px;top:70%;rotate:190deg;background:#328b4d}.zone-foliage i:nth-child(5){right:8%;bottom:-30px;rotate:145deg;background:#7bf7b2}.journey-zone:hover>.zone-foliage i{transform:translateX(9px) rotate(4deg)}
.journey-zone:not(.hero)::before{content:"";position:absolute;left:50%;top:-26px;width:96px;height:52px;background:#b9ff38;border:4px solid #06130d;border-radius:100% 0 100% 0;rotate:38deg;z-index:9;filter:drop-shadow(6px 6px 0 #06130d55)}
.intro{background:linear-gradient(180deg,#dff0d7,#eff8e9)!important}.work{background:linear-gradient(180deg,#e8f4e3,#cfe8d2)!important}.services{background:linear-gradient(180deg,#cfe8d2,#e6f1df)!important}
.jungle-guide{position:fixed;right:26px;bottom:28px;width:104px;height:96px;z-index:42;pointer-events:none;opacity:0;translate:0 35px;transition:opacity .3s,translate .4s cubic-bezier(.2,.8,.2,1)}.jungle-guide.visible{opacity:1;translate:0 0}.guide-body{position:absolute;inset:12px 0 0;background:#b9ff38;border:4px solid #06130d;border-radius:46% 54% 42% 58%;box-shadow:7px 8px 0 #06130d;display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:25px 21px 10px}.guide-body i{width:10px;height:14px;background:#06130d;border-radius:50%;box-shadow:inset 2px 2px white}.guide-body b{grid-column:1/-1;text-align:center;font:900 .75rem ui-monospace,monospace}.guide-body span{position:absolute;width:30px;height:9px;border-radius:20px;background:#b9ff38;border:3px solid #06130d;top:55px}.guide-body span:first-of-type{left:-24px;rotate:30deg}.guide-body span:last-of-type{right:-24px;rotate:-30deg}.guide-leaf{position:absolute;z-index:2;width:42px;height:24px;left:30px;top:-7px;background:#37b962;border:4px solid #06130d;border-radius:100% 0 100% 0;rotate:-25deg}.guide-bubble{position:absolute;right:77px;bottom:68px;width:190px;background:white;color:#06130d;border:3px solid #06130d;border-radius:22px 22px 3px 22px;padding:.75rem .9rem;font:800 .7rem/1.35 ui-monospace,monospace;box-shadow:5px 5px 0 #1f6940;transform-origin:bottom right}.jungle-guide.wave .guide-body span:last-of-type{animation:guideWave .65s ease-in-out 2}@keyframes guideWave{50%{rotate:-75deg;translate:0 -12px}}
.journey-map{position:fixed;left:18px;top:50%;translate:0 -50%;z-index:41;color:white;display:flex;align-items:center;gap:.65rem;pointer-events:none}.journey-dots{display:grid;gap:8px;padding:10px 7px;background:#06130ddd;border:1px solid #5fe3c055;border-radius:20px}.journey-dots button{pointer-events:auto;width:9px;height:9px;min-height:0;padding:0;border:1px solid #8cc49c;background:#214b30;border-radius:50%;box-shadow:none}.journey-dots button.active{background:#b9ff38;scale:1.45;box-shadow:0 0 12px #b9ff38}.journey-map>span{writing-mode:vertical-rl;rotate:180deg;padding:.55rem .35rem;background:#06130ddd;border-radius:8px;color:#b9ff38;font:800 .58rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}
.leaf-trail{position:fixed;z-index:100;width:12px;height:7px;background:#b9ff38;border-radius:100% 0 100% 0;pointer-events:none;rotate:var(--leaf-rotate);animation:leafFall .9s ease-out forwards;box-shadow:0 0 6px #b9ff38}@keyframes leafFall{to{translate:12px 34px;rotate:calc(var(--leaf-rotate) + 120deg);opacity:0}}
body[data-jungle-zone="2"] .jungle-world{filter:hue-rotate(18deg) saturate(1.25)}body[data-jungle-zone="3"] .jungle-world{filter:hue-rotate(-12deg) brightness(1.1)}body[data-jungle-zone="5"] .jungle-world{filter:hue-rotate(35deg) brightness(.8)}body[data-jungle-zone="7"] .jungle-world{filter:hue-rotate(-22deg) saturate(1.35)}
@media(max-width:900px){.canopy{width:46vw;opacity:.72}.side-vine{opacity:.7}.journey-map{left:5px}.journey-map>span{display:none}.jungle-guide{right:13px;bottom:18px;scale:.82;transform-origin:bottom right}.zone-foliage i{width:78px;height:42px}.journey-zone:not(.hero)::before{width:72px;height:39px}}
@media(max-width:640px){.canopy{top:62px;width:55vw;height:150px;opacity:.52}.canopy-left{left:-95px}.canopy-right{right:-95px}.canopy i{width:110px;height:56px}.canopy i:nth-child(2){left:62px}.canopy i:nth-child(3){left:94px}.side-vine{width:9px;opacity:.45}.vine-a{left:-3px}.vine-b{right:-3px}.journey-map{display:none}.jungle-guide{scale:.68;right:7px;bottom:8px}.guide-bubble{display:none}.zone-foliage i{opacity:.75}.journey-zone:not(.hero)::before{left:auto;right:15%;top:-18px}}
@media(prefers-reduced-motion:reduce){.side-vine,.fireflies i,.leaf-trail,.jungle-guide.wave .guide-body span:last-of-type{animation:none}}

/* Softer cartoon scenery: rounded treetops and bushes instead of loose leaves. */
.canopy{filter:drop-shadow(8px 12px 0 #03100966)}
.canopy::before{content:"";position:absolute;width:72px;height:260px;left:35px;top:-95px;background:#78502f;border:5px solid #06130d;border-radius:38px;rotate:-16deg;box-shadow:inset -15px 0 #52351f}
.canopy i{width:150px;height:150px;border-radius:48% 52% 46% 54%;border:5px solid #06130d;background:#238d4b;box-shadow:inset -18px -18px #176838}
.canopy i:nth-child(1){left:-10px;top:-45px;rotate:0deg}.canopy i:nth-child(2){left:82px;top:-65px;rotate:0deg;background:#31ae5c}.canopy i:nth-child(3){left:155px;top:10px;rotate:0deg;background:#75d957}.canopy i:nth-child(4){left:20px;top:65px;rotate:0deg;background:#49c56b}
.side-vine::before,.side-vine::after{width:29px;height:29px;border-radius:50%;background:#ff9b32;border:4px solid #06130d;box-shadow:inset -6px -5px #ce6320}.side-vine::before{left:-22px;rotate:0deg}.side-vine::after{right:-22px;rotate:0deg;background:#8f7cff;box-shadow:inset -6px -5px #5d4cc7}
.zone-foliage i{width:112px;height:72px;border:4px solid #06130d;border-radius:52% 48% 50% 50%;background:#279952;filter:drop-shadow(5px 6px 0 #06130d55);box-shadow:inset -18px -12px #176d39}
.zone-foliage i:nth-child(1){left:-55px;rotate:0deg}.zone-foliage i:nth-child(2){right:-52px;rotate:0deg;background:#63d667;box-shadow:inset 18px -12px #38a94e}.zone-foliage i:nth-child(3){left:-62px;rotate:0deg;background:#48bc64}.zone-foliage i:nth-child(4){right:-58px;rotate:0deg;background:#257945}.zone-foliage i:nth-child(5){right:8%;rotate:0deg;background:#80e77d}.journey-zone:hover>.zone-foliage i{transform:translateY(-7px) scale(1.04)}
.journey-zone:not(.hero)::before{width:92px;height:32px;border-radius:18px;background:#8b5c35;border:4px solid #06130d;rotate:-3deg;box-shadow:inset 0 -8px #623d24,6px 6px 0 #06130d55}
.journey-zone:not(.hero)::after{content:"";position:absolute;left:calc(50% + 19px);top:-18px;width:8px;height:32px;background:#d99b57;border-left:3px solid #06130d;border-right:3px solid #06130d;rotate:-3deg;z-index:10;pointer-events:none}
.cartoon-vine path:last-child{display:none}.cartoon-vine path:first-child{stroke-width:16;stroke:#3ec86c;paint-order:stroke;filter:drop-shadow(5px 5px 0 #06130d)}
.mascot-leaf,.guide-leaf{width:8px;height:24px;border-radius:8px;background:#06130d;border:0;left:50%;top:-19px;rotate:-8deg}.mascot-leaf::after,.guide-leaf::after{content:"";position:absolute;width:18px;height:18px;left:-5px;top:-10px;border:4px solid #06130d;border-radius:50%;background:#ff9b32}
.hero-copy::after{width:84px;height:84px;border-radius:50%;background:#35c76c;box-shadow:55px 19px 0 -8px #b9ff38,55px 19px 0 -4px #06130d,-36px 32px 0 -12px #2a8d4a,-36px 32px 0 -8px #06130d;rotate:0deg}
.leaf-trail{display:none!important}
@media(max-width:640px){.canopy i{width:94px;height:94px}.canopy::before{height:180px;top:-80px}.zone-foliage i{width:78px;height:50px}.journey-zone:not(.hero)::before{width:70px;height:25px}.journey-zone:not(.hero)::after{display:none}.hero-copy::after{width:62px;height:62px;box-shadow:39px 14px 0 -7px #b9ff38,39px 14px 0 -3px #06130d,-25px 25px 0 -10px #2a8d4a,-25px 25px 0 -7px #06130d}}

/* Cartoon animals met ieder een eigen plek in de reis. */
.jungle-animal{position:absolute;z-index:11;pointer-events:none;filter:drop-shadow(7px 8px 0 #06130d66);transition:translate .35s,rotate .35s}.jungle-animal .animal-body{position:relative}.jungle-animal i,.jungle-animal b,.jungle-animal span,.jungle-animal em{position:absolute;display:block}
.animal-chameleon{right:5%;top:17%;width:150px;height:92px;rotate:-7deg}.animal-chameleon .animal-body{width:105px;height:62px;background:#8f7cff;border:4px solid #06130d;border-radius:60% 45% 55% 48%;box-shadow:inset -18px -12px #624fc9}.animal-chameleon i:first-child{width:28px;height:28px;right:7px;top:-13px;background:#c6ff3e;border:4px solid #06130d;border-radius:50%}.animal-chameleon i:first-child::after{content:"";position:absolute;width:7px;height:7px;left:6px;top:6px;background:#06130d;border-radius:50%}.animal-chameleon i:nth-child(2){width:65px;height:65px;left:-46px;top:15px;border:9px solid #8f7cff;border-right-color:transparent;border-radius:50%;rotate:18deg}.animal-chameleon b{width:22px;height:5px;right:10px;top:34px;background:#06130d;border-radius:10px}.animal-chameleon span{width:58px;height:10px;left:18px;bottom:-8px;background:#8f7cff;border:4px solid #06130d;border-radius:12px}.animal-chameleon em{width:24px;height:33px;right:28px;top:-25px;background:#ff9b32;border:4px solid #06130d;border-radius:100% 0 100% 0}
.animal-toucan{left:4%;top:10%;width:145px;height:135px}.animal-toucan .animal-body{width:85px;height:108px;background:#07130d;border:4px solid #06130d;border-radius:54% 48% 60% 42%;box-shadow:inset 15px -15px #174b2b}.animal-toucan i:first-child{width:40px;height:40px;right:-3px;top:5px;background:white;border:4px solid #06130d;border-radius:50%}.animal-toucan i:first-child::after{content:"";position:absolute;width:11px;height:11px;right:7px;top:8px;background:#06130d;border-radius:50%}.animal-toucan i:nth-child(2){width:80px;height:38px;left:65px;top:22px;background:#ff9b32;border:4px solid #06130d;border-radius:10% 80% 30% 60%;box-shadow:inset 0 -12px #ff5f45}.animal-toucan b{width:39px;height:55px;left:11px;top:42px;background:#b9ff38;border:4px solid #06130d;border-radius:50%;rotate:17deg}.animal-toucan span{width:7px;height:38px;left:27px;bottom:-32px;background:#ff9b32;border:3px solid #06130d}.animal-toucan em{width:72px;height:9px;left:4px;bottom:-38px;background:#78502f;border:3px solid #06130d;border-radius:10px}
.animal-monkey{right:5%;top:15%;width:140px;height:135px}.animal-monkey .animal-body{width:96px;height:96px;background:#8b5c35;border:4px solid #06130d;border-radius:50%;box-shadow:inset -14px -12px #634026}.animal-monkey .animal-body::before,.animal-monkey .animal-body::after{content:"";position:absolute;width:34px;height:34px;top:17px;background:#d99b57;border:4px solid #06130d;border-radius:50%;z-index:-1}.animal-monkey .animal-body::before{left:-25px}.animal-monkey .animal-body::after{right:-25px}.animal-monkey i:first-child,.animal-monkey i:nth-child(2){width:11px;height:15px;top:29px;background:#06130d;border-radius:50%}.animal-monkey i:first-child{left:25px}.animal-monkey i:nth-child(2){right:25px}.animal-monkey b{width:48px;height:32px;left:20px;top:51px;background:#e7ad68;border:3px solid #06130d;border-radius:50%}.animal-monkey b::after{content:"";position:absolute;width:20px;height:8px;left:11px;bottom:5px;border-bottom:3px solid #06130d;border-radius:50%}.animal-monkey span{width:16px;height:72px;right:-22px;top:64px;border:8px solid #8b5c35;border-left-color:transparent;border-radius:50%;rotate:-22deg}.animal-monkey em{width:50px;height:18px;left:22px;top:-14px;background:#249a50;border:4px solid #06130d;border-radius:50% 50% 10px 10px}
.animal-frog{left:6%;top:16%;width:135px;height:105px}.animal-frog .animal-body{width:112px;height:72px;background:#71df65;border:4px solid #06130d;border-radius:52% 48% 44% 56%;box-shadow:inset -15px -12px #38a84d}.animal-frog i:first-child,.animal-frog i:nth-child(2){width:34px;height:34px;top:-21px;background:#b9ff38;border:4px solid #06130d;border-radius:50%}.animal-frog i:first-child{left:14px}.animal-frog i:nth-child(2){right:14px}.animal-frog i::after{content:"";position:absolute;width:10px;height:12px;left:7px;top:6px;background:#06130d;border-radius:50%}.animal-frog b{width:48px;height:18px;left:27px;top:36px;border-bottom:4px solid #06130d;border-radius:50%}.animal-frog span{width:34px;height:16px;left:-17px;bottom:-5px;background:#71df65;border:4px solid #06130d;border-radius:50%}.animal-frog em{width:34px;height:16px;right:5px;bottom:-10px;background:#71df65;border:4px solid #06130d;border-radius:50%}
.journey-zone:hover>.animal-chameleon{translate:-12px 4px;rotate:2deg}.journey-zone:hover>.animal-toucan{translate:0 -10px;rotate:-3deg}.journey-zone:hover>.animal-monkey{translate:-8px -8px;rotate:4deg}.journey-zone:hover>.animal-frog{translate:12px -6px;rotate:-4deg}
@media(max-width:900px){.jungle-animal{scale:.72}.animal-chameleon,.animal-monkey{right:-20px}.animal-toucan,.animal-frog{left:-20px}}
@media(max-width:640px){.jungle-animal{scale:.5;opacity:.9}.animal-chameleon,.animal-monkey{right:-42px;top:8%}.animal-toucan,.animal-frog{left:-40px;top:6%}}

/* Premium geïllustreerde junglerand; het midden blijft vrij voor de inhoud. */
.canopy,.zone-foliage,.side-vine,.hero-copy::after,.jungle-atmosphere>i{display:none!important}
.jungle-world{background:none!important;opacity:1;filter:none!important}
.jungle-world::before,.jungle-world::after{content:"";position:absolute;top:0;bottom:0;width:clamp(76px,8vw,120px);background-image:url('assets/jungle-frame-v2.png');background-repeat:no-repeat;background-size:auto 100%;opacity:.72;filter:drop-shadow(0 10px 18px #02110877)}
.jungle-world::before{left:0;background-position:left center}.jungle-world::after{right:0;background-position:right center}
.hero-copy,.hero-visual{z-index:12}
.hero{padding-inline:clamp(105px,9vw,140px)!important}
.journey-zone{background-image:radial-gradient(ellipse at 8% 102%,#2c7a4817 0 12%,transparent 12.5%),radial-gradient(ellipse at 92% 104%,#1f663b14 0 14%,transparent 14.5%)}
@media(max-width:900px){.jungle-world::before,.jungle-world::after{width:58px;opacity:.62}}
@media(max-width:640px){.jungle-world::before,.jungle-world::after{width:32px;opacity:.58}.hero{padding-inline:40px!important}}

/* Filmische junglebeweging: rustig, gelaagd en gekoppeld aan de scrollreis. */
.jungle-world::before{transform-origin:left center;animation:jungleOpenLeft 1.15s cubic-bezier(.2,.8,.2,1) both,jungleBreatheLeft 8s ease-in-out 1.15s infinite}
.jungle-world::after{transform-origin:right center;animation:jungleOpenRight 1.15s cubic-bezier(.2,.8,.2,1) both,jungleBreatheRight 9s ease-in-out 1.15s infinite}
@keyframes jungleOpenLeft{from{translate:-100% 0;opacity:0}to{translate:0 0;opacity:.72}}
@keyframes jungleOpenRight{from{translate:100% 0;opacity:0}to{translate:0 0;opacity:.72}}
@keyframes jungleBreatheLeft{0%,100%{transform:scale(1.01) rotate(-.35deg)}50%{transform:scale(1.035) rotate(.45deg)}}
@keyframes jungleBreatheRight{0%,100%{transform:scale(1.01) rotate(.3deg)}50%{transform:scale(1.04) rotate(-.4deg)}}
.hero::before{animation:canopyLight 9s ease-in-out infinite alternate}
@keyframes canopyLight{0%{opacity:.45;background-position:0 0}100%{opacity:.9;background-position:48px 24px}}

body[data-jungle-zone="1"] .animal-chameleon{animation:chameleonWake 2.4s ease-in-out infinite}
body[data-jungle-zone="1"] .animal-chameleon i:first-child::after{animation:chameleonLook 2.4s steps(3,end) infinite}
@keyframes chameleonWake{0%,100%{translate:0 0;rotate:-7deg}45%{translate:-9px 2px;rotate:-2deg}60%{translate:-9px 2px;rotate:-2deg}}
@keyframes chameleonLook{0%,35%{translate:0 0}40%,70%{translate:8px 1px}75%,100%{translate:3px 8px}}

body[data-jungle-zone="3"] .animal-toucan{animation:toucanLand 1.8s ease-in-out infinite;transform-origin:40% 100%}
body[data-jungle-zone="3"] .animal-toucan b{animation:toucanWing .7s ease-in-out infinite;transform-origin:80% 20%}
@keyframes toucanLand{0%,100%{translate:0 0;rotate:0}45%{translate:0 -9px;rotate:-2deg}}
@keyframes toucanWing{0%,100%{transform:rotate(10deg)}50%{transform:rotate(-18deg) scaleY(.82)}}

body[data-jungle-zone="5"] .animal-monkey{animation:monkeySwing 2.8s ease-in-out infinite;transform-origin:75% -20%}
body[data-jungle-zone="5"] .animal-monkey span{animation:monkeyTail 1.4s ease-in-out infinite;transform-origin:50% 0}
@keyframes monkeySwing{0%,100%{translate:0 0;rotate:-6deg}50%{translate:-14px -8px;rotate:8deg}}
@keyframes monkeyTail{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(14deg)}}

body[data-jungle-zone="6"] .animal-frog{animation:frogHop 2.2s cubic-bezier(.4,0,.3,1) infinite}
@keyframes frogHop{0%,18%,100%{translate:0 0;scale:1 1}36%{translate:10px -24px;scale:.94 1.08}48%{translate:17px 0;scale:1.08 .9}62%{translate:17px 0;scale:1 1}}

.guide-body i{animation:guideBlink 4.2s infinite}@keyframes guideBlink{0%,46%,50%,100%{scale:1 1}48%{scale:1 .12}}
@media(prefers-reduced-motion:reduce){.jungle-world::before,.jungle-world::after,.hero::before,.animal-chameleon,.animal-chameleon i:first-child::after,.animal-toucan,.animal-toucan b,.animal-monkey,.animal-monkey span,.animal-frog,.guide-body i{animation:none!important}}

/* De keuzehulp is de schat aan het einde van de route. */
.treasure-funnel{position:relative;overflow:visible;background:linear-gradient(145deg,#fff8df,#e8edcf)!important;border:3px solid #c8932f!important;box-shadow:12px 12px 0 #153e26,0 0 70px #ffc94c26!important}
.treasure-marker{position:absolute;right:clamp(18px,3vw,42px);top:-54px;display:flex;align-items:center;gap:.65rem;z-index:4;transform:rotate(3deg)}
.treasure-marker>strong{padding:.55rem .7rem;background:#ffca52;color:#2d210d;border:3px solid #06130d;border-radius:6px;box-shadow:4px 4px 0 #06130d;font:950 .62rem/1 ui-monospace,monospace;letter-spacing:.08em}
.treasure-chest{position:relative;width:70px;height:48px;background:linear-gradient(#b86e22 0 48%,#754017 48%);border:4px solid #06130d;border-radius:24px 24px 8px 8px;box-shadow:5px 6px 0 #06130d55}
.treasure-chest::before{content:"";position:absolute;left:-4px;right:-4px;top:19px;border-top:5px solid #06130d}.treasure-chest::after{content:"";position:absolute;width:14px;height:17px;left:24px;top:17px;background:#ffd452;border:3px solid #06130d;border-radius:3px}
.treasure-chest i,.treasure-chest b{position:absolute;top:0;bottom:0;width:7px;background:#ffca52;border-inline:2px solid #06130d}.treasure-chest i{left:10px}.treasure-chest b{right:10px}
.treasure-funnel .funnel-top{padding-right:clamp(0px,18vw,175px);border-color:#aa9d75!important}.treasure-funnel .funnel-top span{color:#604718}.treasure-funnel .funnel-top small,.treasure-funnel .funnel-step>p{color:#6b745f!important}
.treasure-funnel .funnel-progress{position:relative;height:9px;border:2px dashed #806b39;background:#d5cca8!important;border-radius:20px;overflow:visible!important}
.treasure-funnel .funnel-progress span{position:relative;display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#d79527,#ffd95c,var(--acid))!important;box-shadow:0 0 15px #e7aa32;transition:width .5s cubic-bezier(.16,1,.3,1)}
.treasure-funnel .funnel-progress span::after{content:"✦";position:absolute;right:-12px;top:50%;translate:0 -50%;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ffd04c;border:3px solid #06130d;color:#06130d;font-size:.7rem;box-shadow:3px 3px 0 #06130d}
.treasure-funnel .funnel-number{background:#ffc94c!important;box-shadow:3px 3px 0 #06130d}
.treasure-funnel .funnel-step h3{color:#06130d}.treasure-funnel .funnel-field{color:#4e5c47}.treasure-funnel .funnel-field input,.treasure-funnel .funnel-field textarea{background:#fffdf3!important;color:#06130d!important;border-color:#a79a71!important}
.treasure-funnel .funnel-back{color:#38523d!important}.treasure-funnel .funnel-trust{color:#596952!important}
@media(max-width:640px){.treasure-funnel{border-width:2px!important}.treasure-marker{top:-31px;right:12px;scale:.68;transform-origin:right center}.treasure-funnel .funnel-top{padding-right:0;padding-top:32px}.funnel-only-page .treasure-marker{top:8px}.funnel-only-page .treasure-funnel .funnel-top{padding-top:64px}}
