@font-face{font-family:'Space Mono';src:url('/fonts/space-mono-regular.ttf') format('truetype');font-weight:400;font-display:swap}
/* Page frame */
.landing{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}.landing *{box-sizing:border-box}.landing a{color:inherit;text-underline-offset:5px}.landing button,.landing select{font:inherit}
.landing main,.landing-nav,.landing-footer,.experiment-notice{position:relative;z-index:1}.landing main{display:block;padding:0;margin:0;max-width:none;min-width:0}
.landing .landing-nav{min-height:78px;padding:12px 4.5%;display:flex;align-items:center;gap:35px;border-bottom:2px solid var(--line);background:var(--bg)}
.landing-brand{display:flex;gap:14px;align-items:center;text-decoration:none;font-family:Anton,Impact,sans-serif;font-size:30px;text-transform:uppercase;line-height:1;letter-spacing:.02em}.landing-brand [data-decor]{font-family:system-ui,sans-serif;color:var(--neon-pink)}
.landing-nav nav{display:flex;gap:26px;margin-left:auto}.landing nav a,.landing-link{font-family:'Space Mono',monospace;font-size:12px;font-weight:bold;text-decoration:none}.landing nav a:hover,.landing-link:hover{color:var(--neon-pink)}
.landing-button{display:inline-flex;align-items:center;justify-content:center;gap:15px;background:var(--neon-yellow);color:#0b0709!important;border:2px solid #0b0709;box-shadow:6px 6px 0 var(--neon-pink);min-height:52px;padding:14px 23px;text-decoration:none;font:700 13px 'Space Mono',monospace;transform:rotate(-1.5deg);transition:transform .15s,box-shadow .15s}.landing-button:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--neon-pink)}.landing a:focus-visible{outline:3px solid var(--neon-cyan);outline-offset:7px}
.landing .nav-cta{min-height:44px;padding:10px 18px;transform:rotate(-2deg);box-shadow:4px 4px 0 var(--neon-pink)}
/* Truth notice: verbatim, slim yellow tape strip, never rotated or covered. */
.landing .experiment-notice{background:var(--neon-yellow);color:#0b0709;padding:6px 4.5%;font:11px/1.6 'Space Mono',monospace;border-bottom:2px solid #0b0709}
.micro-label{font:10px/1.8 'Space Mono',monospace;letter-spacing:.13em;color:var(--muted)}

/* Neon signs: a bordered glowing box per sign; text glows in a pale tint of the tube colour. */
.landing .neon-sign{--tube:var(--neon-pink);display:inline-block;border:2px solid var(--tube);border-radius:6px;padding:8px 16px;line-height:1.1;font-family:var(--sign);color:color-mix(in srgb,var(--tube) 22%,#fff);background:color-mix(in srgb,var(--tube) 8%,rgb(11 7 9 / .6));text-shadow:0 0 4px var(--tube),0 0 12px var(--tube),0 0 28px var(--tube),0 0 56px color-mix(in srgb,var(--tube) 60%,transparent);box-shadow:0 0 16px var(--tube),inset 0 0 16px color-mix(in srgb,var(--tube) 45%,transparent)}
.landing .neon-text{--tube:var(--neon-pink);color:color-mix(in srgb,var(--tube) 22%,#fff);text-shadow:0 0 4px var(--tube),0 0 12px var(--tube),0 0 28px var(--tube),0 0 56px color-mix(in srgb,var(--tube) 60%,transparent)}
.landing .neon-pink{--tube:var(--neon-pink)}.landing .neon-cyan{--tube:var(--neon-cyan)}.landing .neon-yellow{--tube:var(--neon-yellow)}.landing .neon-green{--tube:var(--neon-green)}
.landing .landing-brand .brand-sign{border:0;padding:0;font-size:26px;line-height:1;background:none}
.landing .landing-brand .brand-sign>span,.landing .sign-brand>span,.landing .street-signs>span:nth-child(odd)>span,.landing .jack-sign>span,.landing .connect-signs>span:nth-child(even){animation:landing-flicker 5s infinite}
.landing .sign-exchange>span,.landing .street-signs>span:nth-child(2)>span,.landing .circuit-sign>span,.landing .connect-signs>span:nth-child(odd){animation:landing-flicker 7s 1.3s infinite}

/* Hero: always-on glow, CRT scanlines (hook on the section), copy above the effects. */
.landing .landing-hero{position:relative;padding:40px 6% 0;min-height:790px;isolation:isolate;background-color:transparent;background-image:radial-gradient(40% 50% at 82% 35%,color-mix(in srgb,var(--neon-pink) 30%,transparent),transparent 70%),radial-gradient(40% 50% at 10% 85%,color-mix(in srgb,var(--neon-cyan) 18%,transparent),transparent 70%)}
.landing .scanlines::after{z-index:1;opacity:1;background:repeating-linear-gradient(0deg,rgb(0 0 0 / .35) 0 1px,transparent 1px 3px)}
.landing .hero-copy{position:relative;z-index:2;max-width:min(880px,calc(100% - 380px))}
.landing .hero-stickers{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:34px;margin-bottom:26px;font:12px 'Space Mono',monospace;letter-spacing:.12em}
.landing .local-status{color:var(--ink);border:2px dashed var(--ink);padding:5px 12px;background:var(--bg)}
.landing .coming-stickers{display:flex;gap:12px;flex-wrap:wrap}
.landing .coming-stickers span{padding:5px 10px;font-size:13px;letter-spacing:0;border:2px solid currentColor}
.landing .coming-stickers span:nth-child(1){background:var(--neon-yellow);color:#0b0709;border-color:var(--neon-yellow);transform:rotate(4deg)}
.landing .coming-stickers span:nth-child(2){color:var(--neon-cyan);transform:rotate(-2deg)}
.landing .coming-stickers span:nth-child(3){background:#f2ece4;color:#0b0709;border-color:#f2ece4;font-weight:700;transform:rotate(3deg)}
.landing .coming-stickers span:nth-child(4){color:var(--neon-pink);transform:rotate(-4deg)}
.landing h1,.landing h2,.landing h3{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase}
.landing h1{font-size:clamp(76px,13.2vw,220px);line-height:.82;letter-spacing:-.01em;margin:0}
.landing h1>span{display:block;width:max-content;max-width:100%}
.landing h1 .hire-block{background:var(--neon-pink);color:#0b0709;transform:rotate(-3deg);padding:0 18px;margin:0 0 0 9vw;box-shadow:10px 10px 0 var(--neon-cyan)}
.landing h1 .outline{color:var(--neon-pink);-webkit-text-stroke:3px var(--ink);margin-left:3vw}
/* RGB-split: pink/cyan offset layers over the glyphs with occasional clip-path tears (reference values). */
.landing h1 .split::before,.landing h1 .split::after,.landing h2 .split::before,.landing h2 .split::after{z-index:1;mix-blend-mode:screen}
.landing h1 .split::before,.landing h2 .split::before{transform:translate(-5px,2px);animation:landing-split-a 3s steps(1) infinite}
.landing h1 .split::after,.landing h2 .split::after{transform:translate(5px,-2px);animation:landing-split-b 2.4s steps(1) infinite}
/* The opaque pink core paints above both RGB glyph layers inside .split's isolated stack. */
.landing h1 .outline::before,.landing h1 .outline::after{z-index:-1}
.landing h2 .split{display:inline-block}
.landing .hero-row{display:flex;flex-wrap:wrap;gap:22px 40px;align-items:flex-start;margin-top:34px}
.landing .hero-description{flex:1 1 340px;max-width:480px;margin:0;font-size:16px;line-height:1.75;color:var(--ink);border-left:4px solid var(--neon-yellow);padding:2px 0 2px 18px;background:color-mix(in srgb,var(--bg) 82%,transparent)}
.landing .hero-row .landing-actions{flex:0 0 auto;flex-direction:column;align-items:stretch;gap:16px;margin:0}
.landing-actions{display:flex;gap:35px;align-items:center;flex-wrap:wrap;margin-top:27px}
.landing .landing-actions .landing-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:14px 26px;border:2px solid var(--neon-cyan);color:var(--neon-cyan);background:var(--bg);font:700 13px 'Space Mono',monospace;transform:rotate(1deg)}
.landing .hero-copy>.micro-label{margin-top:30px}
/* Sign district: vertical tubes below the docked atmosphere chip, street signs at the hero foot. */
.landing .sign-district{position:absolute;z-index:2;right:5%;top:150px;width:340px;bottom:70px;pointer-events:none}
.landing .vertical-signs{display:flex;gap:22px;justify-content:flex-end;align-items:flex-start}
.landing .vertical-signs>.neon-sign{writing-mode:horizontal-tb;display:block;flex:none;line-height:1}
.landing .vertical-signs>.neon-sign>span{writing-mode:vertical-rl;display:block;white-space:nowrap;height:max-content;width:max-content}
/* Vertical CJK needs a face with vertical metrics: some Linux generic CJK fallbacks (e.g. WenQuanYi Zen Hei) report zero
   vertical advance, which clipped the sign. Installed system faces only; no vendored or remote font. */
.landing .vertical-signs>.neon-sign>span{font-family:"PingFang SC","Hiragino Sans","Yu Gothic","Noto Sans CJK SC","Noto Sans CJK JP","Source Han Sans SC",var(--sign)}
.landing .sign-brand{font-size:76px;padding:18px 12px;border-width:3px;box-shadow:0 0 18px var(--tube),inset 0 0 18px color-mix(in srgb,var(--tube) 50%,transparent)}
.landing .sign-brand>span{letter-spacing:.08em}
.landing .sign-exchange{margin-top:120px;font-size:36px;padding:14px 8px}
.landing .sign-exchange>span{letter-spacing:.1em}
.landing .sign-agent{margin-top:40px;font-size:18px;font-weight:900;padding:10px 6px;border-radius:4px}
.landing .sign-agent>span{letter-spacing:.2em}
.landing .street-signs{position:absolute;bottom:0;right:0;display:flex;flex-direction:column;align-items:flex-end;gap:18px}
.landing .street-signs>span{font-size:30px;transform:rotate(-3deg)}
.landing .street-signs>span:nth-child(2){font-family:var(--sign);white-space:nowrap;font-size:34px;letter-spacing:.06em;margin-right:60px;transform:rotate(2deg)}
.landing .street-signs>span:nth-child(2)>span{font-family:inherit;letter-spacing:normal}
.landing .street-signs>span:nth-child(3){font-size:28px;font-weight:900;padding:6px 16px;transform:rotate(-1deg)}
/* Docked atmosphere panel (atmosphere.js prepends it to main): collapsed chip in the sign column, never over copy. */
.landing .atmosphere-panel{margin:16px 6% 0;position:relative;z-index:6}
@media(min-width:860px){.landing .atmosphere-panel{position:absolute;top:22px;right:5%;width:340px;margin:0;z-index:6;padding:4px 14px}.landing .atmosphere-panel[open]{padding-bottom:14px}}

/* Grain that reads on near-black: screen blend over the page, a little jitter; behind content in day. */
body.landing::after{inset:-12px;z-index:3;opacity:.2;mix-blend-mode:screen;animation:landing-grain .6s steps(3) infinite}

/* Tapes: yellow / dark feed / pink, crossed tilts, thick borders. */
.landing .landing-tapes{position:relative;height:220px;padding:0;z-index:3;max-width:100%;overflow-x:clip;overflow-y:visible}
.landing .tape-band{position:absolute;left:-5%;width:110%;margin:0;min-height:0;border-top:3px solid #0b0709;border-bottom:3px solid #0b0709;overflow:hidden;display:flex;align-items:center}
.landing .tape-work{top:18px;background:var(--neon-yellow);color:#0b0709;transform:rotate(-2.5deg)}
.landing .tape-feed{top:80px;background:var(--bg);color:var(--ink);border-top:2px solid var(--neon-pink);border-bottom:2px solid var(--neon-pink);transform:rotate(1.8deg)}
.landing .tape-hire{top:140px;background:var(--neon-pink);color:#0b0709;transform:rotate(-1deg)}
.tape-track{display:flex;width:max-content;white-space:nowrap;gap:34px;font-size:20px;font-weight:900;animation:landing-marquee 42s linear infinite}.tape-track span{pointer-events:none}
.landing .tape-track{font-family:var(--sign);line-height:1.6}
.landing .tape-work .tape-track{font-family:Anton,var(--sign);font-size:26px;line-height:30px;font-weight:400;letter-spacing:.04em}.landing .tape-work .tape-track span{font-family:Anton,var(--sign)}
#public-feed{display:flex;gap:50px;padding:12px 5vw;font:13px/1.5 'Space Mono',monospace;letter-spacing:.06em;white-space:nowrap}.feed-record{display:flex;gap:16px}.feed-record strong{color:var(--neon-cyan)}

/* Sections */
.landing-section{padding:100px 6% 120px;border-bottom:2px solid var(--line);position:relative}
.landing .landing-section{background-color:var(--bg)}
.landing h2{font-size:clamp(64px,10vw,150px);line-height:.85;margin:16px 0 38px;letter-spacing:-.01em}.landing h2 em{font-style:normal;color:var(--neon-pink)}
.landing .section-heading{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:24px 30px;align-items:flex-end;margin-bottom:64px}
.landing .section-heading h2{margin-bottom:0}
.landing .circuit-sign{font-size:54px;line-height:1;transform:rotate(-4deg);margin:0 0 10px}
/* The circuit: cream / pink / black-yellow paper cards with tape strips and stamps. */
.landing .circuit-cards,.landing .role-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start}
.landing .paper-card{position:relative;display:flex;flex-direction:column;gap:14px;border:0;padding:40px 30px 34px}
.landing .paper-card:nth-child(1){background:#f2ece4;color:#0b0709;box-shadow:8px 8px 0 var(--neon-cyan);transform:rotate(-1.5deg)}
.landing .paper-card:nth-child(2){background:var(--neon-pink);color:#0b0709;box-shadow:8px 8px 0 #f2ece4;transform:rotate(1.2deg) translateY(28px)}
.landing .paper-card:nth-child(3){background:#0b0709;color:#f2ece4;border:3px solid var(--neon-yellow);box-shadow:8px 8px 0 var(--neon-pink);transform:rotate(-.8deg)}
.landing .paper-card::before{content:'';position:absolute;width:90px;height:26px;top:-14px;left:40%;background:color-mix(in srgb,var(--neon-yellow) 85%,transparent);transform:rotate(4deg)}
.landing .paper-card:nth-child(2)::before{left:20%;background:rgb(242 236 228 / .8);transform:rotate(-5deg)}
.landing .paper-card:nth-child(3)::before{left:55%;background:color-mix(in srgb,var(--neon-cyan) 75%,transparent);transform:rotate(3deg)}
.landing .card-number{font:92px/.85 Anton,Impact,sans-serif}
.landing .paper-card h3{font-size:36px;line-height:1;margin:0;color:inherit}
.landing .paper-card p{margin:0;font-size:14px;line-height:1.7;color:inherit}
.landing .card-decor{font-size:15px;opacity:.8}
.landing .card-stamp{align-self:flex-end;padding:4px 10px;border:2px solid currentColor;font:700 11px 'Space Mono',monospace;letter-spacing:.14em;transform:rotate(-6deg)}
.landing .paper-card:nth-child(2) .card-stamp{transform:rotate(5deg)}
.landing .paper-card:nth-child(3) .card-number,.landing .paper-card:nth-child(3) .card-stamp{color:var(--neon-yellow)}
.landing .paper-card:nth-child(3) .card-stamp{transform:rotate(-4deg)}
.landing .paper-card:nth-child(3) p{color:#cfc7be}
.section-note{font:11px/1.8 'Space Mono',monospace;color:var(--muted);margin:60px 0 0}
/* Pick your side */
.landing .sides{overflow:hidden;background-image:radial-gradient(50% 60% at 15% 50%,color-mix(in srgb,var(--neon-cyan) 14%,transparent),transparent 70%)}
.sides>*:not(.outline-words){position:relative;z-index:1}
.landing .cyan-block{display:inline-block;background:var(--neon-cyan);color:#0b0709;padding:0 14px;transform:rotate(-2deg)}
.landing .outline-words{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.landing .outline-words>span{position:absolute;line-height:1;color:transparent;white-space:nowrap;-webkit-text-stroke:2px var(--stroke)}
.landing .outline-words>span:nth-child(1){--stroke:color-mix(in srgb,var(--neon-pink) 35%,transparent);right:-30px;bottom:-60px;font-size:360px;transform:rotate(-6deg)}
.landing .outline-words>span:nth-child(2){--stroke:color-mix(in srgb,var(--neon-cyan) 22%,transparent);left:-20px;top:30px;font-family:Anton,var(--sign);font-size:240px;transform:rotate(4deg)}
/* Preserve the French grave accent inside the existing clipped outline layer. */
.landing .outline-words>span[lang=fr]{padding-top:.05em}
.landing .outline-words>span:nth-child(3){--stroke:color-mix(in srgb,var(--neon-yellow) 18%,transparent);left:38%;bottom:20px;font-size:180px;font-weight:900;transform:rotate(-3deg)}
.landing .id-card{background:color-mix(in srgb,var(--bg) 85%,transparent);border:2px solid var(--neon-cyan);box-shadow:none;padding:0 30px 30px}
.landing .id-card:nth-child(2){border-color:var(--neon-pink);transform:translateY(24px)}
.landing .id-card:nth-child(3){border-color:var(--neon-yellow)}
.landing .id-card h3{font-size:40px;line-height:.95;margin:20px 0 12px}
.id-header{border-bottom:2px solid currentColor;padding:13px 0;font:11px 'Space Mono',monospace;letter-spacing:.14em;display:flex;justify-content:space-between;color:var(--neon-cyan)}
.id-card:nth-child(2) .id-header,.id-card:nth-child(2) .role-decor{color:var(--neon-pink)}
.landing .id-card:nth-child(3) .id-header,.landing .id-card:nth-child(3) .role-decor{color:var(--neon-yellow)}
.role-decor{font-size:28px;color:var(--neon-cyan)}
.id-card p{font-size:14px;line-height:1.7}
.id-card a{display:inline-block;padding-top:10px;font:11px/1.7 'Space Mono',monospace}
/* Built for bots */
.bots{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center}.bots>div>p:not(.micro-label){max-width:400px;font-size:16px;line-height:1.8}
.landing .bots h2 em{color:var(--neon-yellow)}
.landing .landing-terminal{border:2px solid var(--line);box-shadow:12px 12px 0 var(--neon-pink);background:#050304;font:12px/1.8 'Space Mono',monospace;min-width:0;transform:rotate(1deg)}
.landing .terminal-bar{background:var(--ink);color:var(--bg);padding:10px 16px;display:flex;justify-content:space-between;gap:24px;font-size:11px;font-weight:700;letter-spacing:.12em}
.landing .landing-terminal pre{margin:0;padding:26px 22px;overflow-x:auto;color:var(--neon-cyan);font:inherit;font-size:13px;background:transparent;border:0;max-height:none}
.landing-terminal p{padding:0 22px;font-size:11px;color:var(--muted)}
.terminal-end{padding:16px 22px;color:var(--ink);border-top:1px dashed var(--muted);font-size:10px}
.terminal-cursor{animation:landing-cursor 1s steps(2,end) infinite;color:var(--neon-pink)}
/* Jack in */
.landing .jack{text-align:center;padding-top:130px;padding-bottom:150px;overflow:hidden;background-image:radial-gradient(55% 80% at 50% 60%,color-mix(in srgb,var(--neon-pink) 28%,transparent),transparent 70%)}
.landing .jack>*{position:relative;z-index:2}
.landing .jack .jack-sign{font-size:clamp(72px,12vw,168px);line-height:1;padding:18px 44px;border-width:4px;border-radius:12px;transform:rotate(-2deg);box-shadow:0 0 30px var(--tube),inset 0 0 30px color-mix(in srgb,var(--tube) 45%,transparent)}
.landing .connect-signs{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;margin:36px 0 26px}
.landing .connect-signs>span{--tube:var(--neon-cyan);display:inline-block;padding:6px 14px;border:2px solid var(--tube);border-radius:4px;font-size:24px;line-height:1.3;color:color-mix(in srgb,var(--tube) 22%,#fff);background:color-mix(in srgb,var(--tube) 8%,rgb(11 7 9 / .6));text-shadow:0 0 4px var(--tube),0 0 12px var(--tube),0 0 28px var(--tube),0 0 56px color-mix(in srgb,var(--tube) 60%,transparent);box-shadow:0 0 12px var(--tube);transform:rotate(3deg)}
.landing .connect-signs>span:first-child{display:none}
.landing .connect-signs>span:nth-child(3){--tube:var(--neon-yellow);transform:rotate(-2deg)}
.landing .connect-signs>span:nth-child(4){--tube:var(--neon-pink);font-family:Anton,var(--sign);font-size:26px;letter-spacing:.06em;transform:rotate(2deg)}
.landing .connect-signs>span:nth-child(5){--tube:var(--neon-green);transform:rotate(-3deg)}
.landing .connect-signs>span:nth-child(6){transform:rotate(1deg)}
.landing .jack h2{font-size:clamp(56px,9vw,130px);margin:22px 0 40px}
.landing .jack .landing-actions{justify-content:center;gap:18px}
.landing .jack .landing-button{box-shadow:6px 6px 0 var(--neon-cyan);transform:rotate(-2deg)}
.landing .jack .landing-actions .landing-link{border-color:var(--ink);color:var(--ink);transform:rotate(1.5deg)}
/* Footer */
.landing-footer{padding:40px 6% 120px;background:var(--surface)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-top nav{display:flex;gap:25px}.footer-end{display:flex;gap:25px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:25px;margin-top:32px;font:11px/1.8 'Space Mono',monospace}.footer-end [data-decor]{display:flex;gap:18px}.landing-footer>p{color:var(--muted);font:10px/1.8 'Space Mono',monospace}
.landing .landing-footer .landing-brand{font-size:24px}.landing .landing-footer .landing-brand .neon-text{font-size:20px}
.skip-link{position:fixed;left:10px;top:-80px;z-index:100;background:var(--surface);padding:15px}.skip-link:focus{top:10px}

/* Day = photocopied zine: printed colours, no glow, no flicker, no scanlines, no hero glow. */
html[data-daynight=day] .landing .landing-hero,html[data-daynight=day] .landing .sides,html[data-daynight=day] .landing .jack{background-image:none}
html[data-daynight=day] .landing .scanlines::after{display:none}
html[data-daynight=day] .landing .neon-sign,html[data-daynight=day] .landing .connect-signs>span{color:var(--tube);text-shadow:none;box-shadow:none;background:var(--surface)}
html[data-daynight=day] .landing .neon-text{color:var(--tube);text-shadow:none}
html[data-daynight=day] .landing .neon-sign.neon-yellow,html[data-daynight=day] .landing .connect-signs>span:nth-child(3){background:var(--neon-yellow);color:#0b0709;border-color:#0b0709}
html[data-daynight=day] .landing [class*=neon-]>span,html[data-daynight=day] .landing .connect-signs>span{animation:none}
html[data-daynight=day] .landing h1 .split::before,html[data-daynight=day] .landing h1 .split::after,html[data-daynight=day] .landing h2 .split::before,html[data-daynight=day] .landing h2 .split::after{animation:none;mix-blend-mode:multiply}
html[data-daynight=day] .landing h1 .split::before,html[data-daynight=day] .landing h2 .split::before{transform:translate(-2px,1px)}
html[data-daynight=day] .landing h1 .split::after,html[data-daynight=day] .landing h2 .split::after{transform:translate(2px,-1px)}
/* Day outline headline: misregistered outlines, not a filled block. */
html[data-daynight=day] .landing h1 .outline{color:transparent}
html[data-daynight=day] .landing h1 .outline::before{color:transparent;-webkit-text-stroke:2px var(--neon-pink)}html[data-daynight=day] .landing h1 .outline::after{color:transparent;-webkit-text-stroke:2px var(--neon-cyan)}
html[data-daynight=day] body.landing::after{z-index:0;opacity:.12;mix-blend-mode:multiply;animation:none}
html[data-daynight=day] .landing .hero-description{border-left-color:var(--ink)}
html[data-daynight=day] .landing .coming-stickers span:nth-child(3){background:var(--ink);color:var(--bg);border-color:var(--ink)}
html[data-daynight=day] .landing .paper-card:nth-child(2),html[data-daynight=day] .landing .paper-card:nth-child(2) h3,html[data-daynight=day] .landing .paper-card:nth-child(2) p{color:#fff}
html[data-daynight=day] .landing .paper-card:nth-child(2){box-shadow:8px 8px 0 var(--ink)}
html[data-daynight=day] .landing .id-card:nth-child(3){border-color:var(--ink)}
html[data-daynight=day] .landing .id-card:nth-child(3) .id-header,html[data-daynight=day] .landing .id-card:nth-child(3) .role-decor{color:var(--ink)}
html[data-daynight=day] .landing .outline-words>span:nth-child(3){--stroke:color-mix(in srgb,var(--ink) 18%,transparent)}
html[data-daynight=day] .landing .bots h2 em{color:var(--neon-cyan)}
html[data-daynight=day] .landing .landing-terminal{background:var(--surface)}
html[data-daynight=day] .tape-hire{color:#fff}

@keyframes landing-marquee{to{transform:translateX(-50%)}}@keyframes landing-cursor{50%{opacity:0}}
@keyframes landing-flicker{0%,18%,22%,25%,53%,57%,100%{opacity:1}20%,24%,55%{opacity:.25}}
@keyframes landing-split-a{0%,90%{clip-path:inset(0 0 0 0)}92%{clip-path:inset(20% 0 50% 0);transform:translate(-14px,2px)}95%{clip-path:inset(60% 0 10% 0);transform:translate(10px,2px)}}
@keyframes landing-split-b{0%,86%{clip-path:inset(0 0 0 0)}88%{clip-path:inset(40% 0 30% 0);transform:translate(16px,-2px)}93%{clip-path:inset(5% 0 75% 0);transform:translate(-8px,-2px)}}
@keyframes landing-grain{0%{transform:translate(0,0)}33%{transform:translate(-6px,4px)}66%{transform:translate(5px,-3px)}}
@media(min-width:1700px){.landing .landing-hero,.landing-section{padding-left:max(6%,calc((100vw - 1500px)/2));padding-right:max(6%,calc((100vw - 1500px)/2))}.landing .sign-district,.landing .atmosphere-panel{right:max(6%,calc((100vw - 1500px)/2))}}
@media(max-width:1100px){.landing-nav{gap:24px}.landing-nav nav{gap:15px}.landing-brand{font-size:27px}.landing .nav-cta{padding:10px 12px;font-size:11px}.landing .sign-district{right:4%;width:300px}.landing .sign-brand{font-size:60px}.landing .street-signs>span{font-size:22px}.landing .street-signs>span:nth-child(2){font-size:26px}.landing .circuit-cards,.landing .role-cards{gap:22px}.landing .circuit-sign{font-size:36px}.bots{gap:35px}.landing .paper-card{padding:36px 22px 30px}}
/* Keep the long French frame inside the hero reservation at laptop widths. */
@media(min-width:860px) and (max-width:1599px){.landing .street-signs>span:nth-child(2){font-size:clamp(22px,2.35vw,30px);margin-right:0}}
@media(max-width:859px){.landing .sign-district{display:none}.landing .landing-nav{min-height:90px;flex-wrap:wrap;gap:20px;padding:22px 6%}.landing-nav nav{margin-left:auto}.landing .nav-cta{display:none}.landing .landing-hero{min-height:0;padding:35px 6% 70px}.landing h1{font-size:clamp(95px,21vw,170px)}.landing .hero-copy{max-width:none}.landing .hero-description{max-width:540px}.landing .circuit-cards,.landing .role-cards{grid-template-columns:1fr;gap:44px}.landing-section{padding:70px 7% 80px}.landing .paper-card{padding:36px 28px 30px}.landing .card-number{font-size:80px}.landing .section-heading{margin-bottom:40px;align-items:flex-start}.landing .circuit-sign{font-size:30px;line-height:1.3}.bots{grid-template-columns:1fr}.landing-terminal{max-width:650px}.landing h2{font-size:90px}.landing .id-card h3{font-size:38px}.landing .id-card:nth-child(2){transform:none}.landing .landing-tapes{height:200px}.tape-track{font-size:17px}.landing .tape-work .tape-track{font-size:22px}.footer-top{align-items:flex-start}.footer-top nav{flex-wrap:wrap;gap:15px}.landing .jack .jack-sign{font-size:96px;padding:14px 30px}.landing .outline-words>span:nth-child(1){font-size:220px}.landing .outline-words>span:nth-child(2){font-size:150px}.landing .outline-words>span:nth-child(3){font-size:110px}}
@media(max-width:480px){.landing-nav{gap:18px}.landing-brand{font-size:25px;gap:10px}.landing-nav nav{margin:0;width:100%;justify-content:space-between}.landing-nav nav a{font-size:11px}.landing .experiment-notice{padding:7px 6%;font-size:10px}.landing .hero-stickers{gap:10px;margin-bottom:24px}.landing .coming-stickers{gap:8px}.landing h1{font-size:23vw}.landing h1 .outline{margin-left:8px;-webkit-text-stroke-width:2px}.landing h1 .hire-block{margin-left:14px;box-shadow:6px 6px 0 var(--neon-cyan)}.landing .hero-description{font-size:15px}.landing .hero-row .landing-actions{flex:1 1 100%}.landing-button{font-size:12px;min-height:50px}.landing-link{font-size:11px}.landing .section-heading{display:block}.landing .circuit-sign{max-width:none;margin:20px 0 0}.landing h2{font-size:68px}.landing .jack h2{font-size:56px}.landing .card-number{font-size:65px}.landing h3{font-size:32px}.landing .paper-card h3{font-size:32px}.landing .landing-terminal pre{font-size:10px;padding:20px 15px}.landing-terminal p,.terminal-end{padding-left:15px;padding-right:15px}.landing .terminal-bar{gap:15px;padding:10px 15px}.footer-top{flex-direction:column}.landing-footer{padding-bottom:120px}.landing .connect-signs{gap:12px}.landing .connect-signs>span{font-size:19px}.landing .jack .jack-sign{font-size:72px;padding:12px 26px}.hero-copy>.micro-label{font-size:9px}}
@media(prefers-reduced-motion:reduce){.landing *, .landing *:before,.landing *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}body.landing::after{animation:none!important}}
/* Real-record feed tape: one exposed set plus one aria-hidden copy, translated by exactly one set. */
#public-feed:has(.feed-track){padding-left:0;padding-right:0}
.feed-track{display:flex;width:max-content;animation:feed-marquee var(--feed-duration,48s) linear infinite}
.feed-set{display:flex;gap:50px;padding:0 25px}
.tape-feed:hover .feed-track{animation-play-state:paused}
@keyframes feed-marquee{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.landing-tapes{height:auto;padding-bottom:18px}#public-feed,#public-feed:has(.feed-track){white-space:normal;width:100%;padding:14px calc(3% + 5vw)}.feed-track{animation:none;width:auto}.feed-set{flex-wrap:wrap;row-gap:10px;padding:0}.feed-record{flex-wrap:wrap;row-gap:2px}.feed-clone{display:none}}
/* Reduced motion: the tapes stack in flow so a wrapped feed never overlaps the next band. */
@media(prefers-reduced-motion:reduce){.landing .landing-tapes{height:auto;padding:18px 0}.landing .tape-band{position:relative;top:auto;left:-3%;width:106%;margin:12px 0}}

.landing [data-decor],.landing [data-decor] span{pointer-events:none;font-family:var(--sign)}.landing .landing-brand{color:var(--ink)}
.landing nav a:hover{background:var(--surface);color:var(--neon-pink)}
/* Decorative tapes: 2n equal sets per track (landing.js); trailing space equals the gap, so -50% is exactly n sets.
   Spans keep neon.css .tape-track>span spacing now that a set wraps them. */
.tape-track{gap:0;animation-duration:var(--tape-duration,42s)}
.tape-set{display:flex;gap:34px;padding-right:34px}
.tape-set>span{padding:10px 28px;white-space:nowrap}
