/* Hacker brainstorm: ten visible interests from a set of eighteen. */
.hero.job-offer{padding-top:66px;padding-bottom:70px}
.hero.job-offer h1{font-size:clamp(42px,4.8vw,68px);line-height:1.08;letter-spacing:-.055em;margin:24px 0 22px;font-weight:600}
.hero.job-offer h1 em{font-style:normal;font-weight:600}
.hero.job-offer .hero-lead{font-size:20px;line-height:1.55;letter-spacing:-.015em;max-width:480px;margin-bottom:24px}
.offer-facts{margin:0 0 26px;border-top:1px solid var(--line)}
.offer-facts>div{display:grid;grid-template-columns:108px minmax(0,1fr);gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}
.offer-facts dt{font-size:12px;color:var(--muted);padding-top:4px;line-height:1.5}
.offer-facts dd{font-size:16px;line-height:1.6;margin:0;color:var(--ink)}
.offer-facts dd strong{font-weight:600}
.offer-facts dd .offer-rate{font-size:25px;color:var(--green);letter-spacing:-.035em;margin-right:4px}
.offer-facts dd span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.hero.job-offer .hero-description{font-size:15px;line-height:1.8;margin-bottom:14px;max-width:500px}
.offer-experience{font-size:14px;color:var(--ink);margin:0 0 25px}
.offer-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.offer-requirements{font-size:13px;color:var(--muted);display:flex;gap:14px;align-items:center}
.offer-requirements span{color:var(--green);font-size:18px}
.hero.job-offer .ideas-controls{justify-content:flex-end}
.hero .hero-ideas{min-height:520px;margin:-30px -12px 0 -35px;align-self:center;position:relative}
.ideas-canvas{width:115%;max-width:none;height:auto;display:block;overflow:visible;margin-left:-4%;color:var(--green-pale)}
.ideas-canvas .person-line{fill:var(--bg);stroke:var(--green-pale);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ideas-canvas .person-detail{fill:none;stroke:var(--green-soft);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.ideas-canvas .screen-content{fill:none;stroke:var(--green-line);stroke-width:1.5}
.ideas-canvas .screen-accent{fill:none;stroke:var(--green);stroke-width:1.5}
.ideas-canvas .thought-stem{fill:none;stroke:var(--green-soft);stroke-width:1;opacity:.22;stroke-dasharray:3 7}
.passion-token{transform-box:view-box;transform-origin:0 0;will-change:transform,opacity}
.passion-drawing{fill:none;stroke:var(--green-pale);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.passion-drawing .accent{stroke:var(--green);stroke-width:1.8}
.passion-drawing .solid{fill:var(--green);stroke:none}
.passion-drawing .dim{stroke:var(--green-muted);opacity:.7}
.passion-drawing .ink{fill:var(--bg)}
.passion-float{animation:idea-drift 4.4s ease-in-out infinite alternate;transform-origin:center}
.passion-token:nth-child(3n) .passion-float{animation-delay:-2s;animation-duration:5.2s}
.passion-token:nth-child(3n+1) .passion-float{animation-delay:-4s;animation-direction:alternate-reverse}
@keyframes idea-drift{from{transform:translateY(-3px)}to{transform:translateY(3px)}}
.hero-ideas.is-paused .passion-float{animation-play-state:paused}
.hacker-hood{fill:color-mix(in srgb,var(--green) 2%,var(--bg))!important;stroke:var(--green-soft)!important}
.hood-seam{fill:none;stroke:var(--green-muted);stroke-width:1.05;opacity:.65;stroke-linecap:round}
.hoodie-body{fill:var(--bg)}
.screen-rat{fill:var(--green);color:var(--green)}
.rat-signal{opacity:.65}
.rat-glitch{fill:var(--green);animation:rat-glitch 5.8s steps(1,end) infinite}
.band-upper{--glitch-x:6px}
.band-lower{--glitch-x:-5px;animation-delay:-.14s}
.signal-fragments{stroke:var(--green);fill:none;stroke-width:1;opacity:0;animation:signal-fragments 5.8s steps(1,end) infinite}
.screen-scan{stroke:var(--green);stroke-width:1;opacity:.14;animation:screen-scan 4s linear infinite}
@keyframes rat-glitch{0%,78%,88%,100%{transform:translateX(0);opacity:0}79%,83%,87%{transform:translateX(var(--glitch-x));opacity:.9}81%,85%{transform:translateX(calc(var(--glitch-x)*-.7));opacity:.65}}
@keyframes signal-fragments{0%,78%,88%,100%{opacity:0}80%,84%,87%{opacity:.65}}
@keyframes screen-scan{from{transform:translateY(0)}to{transform:translateY(150px)}}
.bulb-light{animation:bulb-thought 3.2s ease-in-out infinite}
.bulb-rays{animation:bulb-rays 3.2s ease-in-out infinite;transform-origin:50px 35px}
@keyframes bulb-thought{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes bulb-rays{0%,100%{opacity:.2;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}
.walk-foot{animation:walking-step 2.2s ease-in-out infinite}
.second-step{animation-delay:-1.1s}
@keyframes walking-step{0%,100%{opacity:.3;transform:translateY(3px)}50%{opacity:1;transform:translateY(-3px)}}
.mini-maze-route{stroke:var(--green);opacity:.16;stroke-width:1}
.mini-maze-dot{transform:translate(20px,69px);animation:maze-idea 4.4s linear infinite}
@keyframes maze-idea{0%{transform:translate(20px,69px)}20%{transform:translate(20px,44px)}39%{transform:translate(43px,44px)}56%{transform:translate(43px,24px)}75%{transform:translate(79px,24px)}94%{transform:translate(79px,65px)}100%{transform:translate(89px,65px)}}
.cipher-glyphs{animation:cipher-shift 3.8s steps(1,end) infinite}
.cipher-sweep{opacity:.6;animation:cipher-sweep 3.8s linear infinite}
.lock-shackle{transform-origin:66px 48px;animation:lock-release 3.8s ease-in-out infinite}
.cipher-check{stroke-dasharray:1;animation:cipher-solved 3.8s linear infinite}
@keyframes cipher-shift{0%,100%{transform:translateX(0);opacity:.8}15%{transform:translateX(2px);opacity:.4}30%{transform:translateX(-1px);opacity:.7}45%{transform:translateX(1px);opacity:.4}60%,90%{transform:translateX(0);opacity:.2}}
@keyframes cipher-sweep{0%{transform:translateX(0);opacity:.6}60%{transform:translateX(68px);opacity:.6}61%,100%{transform:translateX(68px);opacity:0}}
@keyframes lock-release{0%,50%,100%{transform:rotate(0)}65%,90%{transform:rotate(-25deg)}}
@keyframes cipher-solved{0%,50%,100%{stroke-dashoffset:1;opacity:0}65%,90%{stroke-dashoffset:0;opacity:1}}
.hero-ideas.is-paused .ideas-canvas *{animation-play-state:paused!important}
.ideas-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 0 10px;position:relative;z-index:4}
.ideas-caption{color:var(--green-muted);font:8px var(--mono);letter-spacing:.08em}
.ideas-toggle{background:none;color:var(--muted);border:1px solid var(--line);padding:7px 9px;display:inline-flex;align-items:center;gap:8px;font:9px var(--mono);cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}
.ideas-toggle:hover{color:var(--ink);border-color:var(--green-muted)}
.ideas-toggle .pause-symbol{color:var(--green);font-size:11px;line-height:1}
.ideas-toggle:disabled{cursor:default;opacity:.6}
@media(min-width:1600px){.hero .hero-ideas{min-height:610px;margin-top:-45px}}
@media(max-width:1050px){.hero .hero-ideas{min-height:400px;margin-left:-20px;margin-top:0}.ideas-canvas{width:115%;margin-left:-8%}.ideas-controls{margin-top:5px;flex-wrap:wrap;gap:8px}.ideas-caption{font-size:6px}.ideas-toggle{font-size:8px;padding:6px 7px}}
@media(max-width:700px){.hero .hero-ideas{grid-row:3;min-height:0;width:100%;max-width:440px;justify-self:center;margin:42px 0 10px}.ideas-canvas{width:100%;margin:0}.ideas-controls{margin:8px 0 0;flex-wrap:nowrap}.ideas-caption{font-size:7px}.ideas-toggle{font-size:9px;padding:7px 9px}}
@media(prefers-reduced-motion:reduce){.ideas-canvas *{animation:none!important}.passion-token{will-change:auto}.rat-glitch,.signal-fragments{opacity:0}.cipher-check{stroke-dashoffset:0;opacity:1}}
@media(max-width:1050px){.hero.job-offer .eyebrow{font-size:8px;letter-spacing:.05em}.offer-facts>div{grid-template-columns:83px minmax(0,1fr);gap:12px}.offer-facts dd{font-size:15px}.hero.job-offer .hero-lead{font-size:18px}}
@media(max-width:700px){.hero.job-offer{padding-top:35px;padding-bottom:50px}.hero.job-offer h1{font-size:clamp(39px,10.8vw,58px);line-height:1.1;margin:21px 0}.hero.job-offer .hero-lead{font-size:18px;max-width:100%;margin-bottom:24px}.hero.job-offer .hero-description{font-size:14px;line-height:1.8}.offer-facts>div{grid-template-columns:86px minmax(0,1fr);gap:14px;padding:13px 0}.offer-facts dt{font-size:11px}.offer-facts dd{font-size:14px}.offer-facts dd .offer-rate{font-size:24px}.offer-facts dd span{font-size:11px}.offer-experience{font-size:13px}.offer-actions{gap:24px}.offer-requirements{font-size:12px}}

.hero-puzzle-note{font-size:17px;line-height:1.6;color:var(--green-soft);margin:0 0 22px}
