:root{--font-display:"Bricolage Grotesque", sans-serif;--font-body:"DM Sans", system-ui, sans-serif;--font-hand:"Caveat", cursive;--font-mono:"JetBrains Mono", monospace;--accent:#ffe24a;--paper:#f4f1e8;--grid:#dad5c4;--card:#fffdf5;--ink:#1b1b1f;--ink2:#33333b;--ink3:#55555f;--line:#1b1b1f;--panel:#1b1b1f;--shadow:#1b1b1f;--softshadow:#1b1b1f33;--stamp:#c2290a;--hover:#c2290a}html.dark{--paper:#0f1115;--grid:#1a1d24;--card:#1a1d24;--ink:#ecebe6;--ink2:#c4c6ce;--ink3:#9a9da8;--line:#e4e3dd;--panel:#272b35;--shadow:#323847;--softshadow:#0000008c;--stamp:#ff7a5c;--hover:#ff8a6b}.on-light{--card:#fffdf5;--ink:#1b1b1f;--ink2:#33333b;--ink3:#55555f;--line:#1b1b1f;--hover:#c2290a;color:#1b1b1f}.on-panel{--ink:#f4f1e8;--ink2:#e8e3d2;--ink3:#c9c4b4;--line:#f4f1e8;color:#f4f1e8}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);margin:0}.page{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);color:var(--ink);background-size:32px 32px;min-height:100vh;position:relative;overflow:hidden}a{color:var(--ink)}a:hover{color:var(--hover)}.lift{transition:transform .2s,box-shadow .2s}.lift:hover{transform:translateY(-6px)rotate(0)!important}.navlink{color:var(--ink);border-radius:999px;padding:9px 16px;font-weight:700;text-decoration:none;transition:background .15s,color .15s}.navlink:hover{background:var(--ink);color:var(--paper)}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lift{transition:none}.lift:hover{transform:none!important}}.lamp{--sw:180px;--s:1;--tilt-n:0}.lamp-tilt{width:0;height:0;transform:rotate(calc(var(--tilt-n) * 1deg));transform-origin:0 0;transition:transform .4s;position:absolute;top:0;left:0}@media (min-width:981px){.lamp{--tilt-n:42}.lamp-cone{height:calc(420px * var(--s));width:calc(380px * var(--s));left:calc(-190px * var(--s));background:linear-gradient(#ffe24a9e 0%,#ffe24a4d 55%,#ffe24a00 100%)}.lamp-hint{top:58px!important;left:110px!important;transform:rotate(4deg)!important}}.lamp-btn{left:calc(var(--sw) / -2);width:var(--sw);height:calc(var(--sw) * .62);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;background:0 0;border:0;border-radius:14px;padding:0;position:absolute;top:0}.lamp-btn:active{cursor:grabbing}.lamp-btn:focus-visible{outline-offset:2px;outline:3px solid #ffe24a}.lamp-svg{left:calc(var(--sw) / -2);width:var(--sw);pointer-events:none;height:auto;position:absolute;top:-2px;overflow:visible}.lamp-rim{fill:#8b8470;transition:fill .5s}.lamp-bulb{fill:#c9c2aa;transition:fill .5s,filter .5s}html.dark .lamp-rim{fill:#ffe9a0}html.dark .lamp-bulb{fill:#fff8d6;filter:drop-shadow(0 0 14px #ffe24af2)}.lamp-cone{left:calc(-150px * var(--s));top:calc(78px * var(--s));width:calc(300px * var(--s));height:calc(190px * var(--s));clip-path:polygon(32% 0,68% 0,100% 100%,0 100%);filter:blur(6px);opacity:0;pointer-events:none;background:linear-gradient(#ffe24a80 0%,#ffe24a29 60%,#ffe24a00 100%);transition:opacity .5s;position:absolute}.lamp-bloom{left:calc(-140px * var(--s));top:calc(20px * var(--s));width:calc(280px * var(--s));height:calc(280px * var(--s));opacity:0;pointer-events:none;background:radial-gradient(circle,#ffe24a73 0%,#ffe24a00 65%);border-radius:50%;transition:opacity .5s;position:absolute}html.dark .lamp-cone,html.dark .lamp-bloom{opacity:1}.lamp-fx{-webkit-mask-image:linear-gradient(#000 0 55%,#0000 100%);mask-image:linear-gradient(#000 0 55%,#0000 100%)}.lamp-dim{opacity:0;background:radial-gradient(ellipse 1100px 800px at var(--lx,80%) var(--ly,200px),#0000 28%,#00000057 100%);transition:opacity .6s}.lamp-glow{opacity:0;mix-blend-mode:screen;background:radial-gradient(ellipse 820px 640px at var(--lx,80%) var(--ly,200px),#ffe24a42 0%,#ffe24a00 70%);transition:opacity .6s}html.dark .lamp-dim,html.dark .lamp-glow{opacity:1}.hero-right{padding-top:190px}.hero-right figure{z-index:25}@keyframes blinkA{0%{opacity:0}8%{opacity:.8}20%{opacity:.04}32%{opacity:.66}46%{opacity:.08}60%{opacity:.3}to{opacity:0}}@keyframes blinkB{0%{opacity:0}8%{opacity:.8}20%{opacity:.04}32%{opacity:.66}46%{opacity:.08}60%{opacity:.3}to{opacity:0}}.blinkA{animation:.8s linear blinkA}.blinkB{animation:.8s linear blinkB}@media (max-width:980px){.hero-right{padding-top:12px}.hero-sec{padding-top:110px!important}}@media (max-width:760px){.lamp{--sw:124px;--s:.69}.lamp-hint{display:none}.hero-sec{padding-top:150px!important}}@media (prefers-reduced-motion:reduce){.blinkA,.blinkB{animation:none}}
