/* Lyashenko Lab: white/ink foundation, plum surfaces, restrained orange accents. */
:root{--paper:#fff;--panel:#fff;--ink:#111;--muted:#68636a;--line:#d8d1d8;--accent:#e96a43;--plum:#4a2948;--plum-soft:#f3eef3;--neutral:#eceae7}
.brand span,.play-hero .period,.blue-pencil{color:var(--accent)}
.review{background:var(--plum)}
.play-hero h1 em{background:var(--plum);color:#fff;outline-color:#d8d1d8}
.blue-pencil{color:var(--plum)}
.action{background:var(--accent);color:var(--ink)}
.hero-actions .action:last-child{background:var(--plum);color:#fff}
.code-body{background:var(--plum);color:#fff}
.line-numbers{color:#c7adc6}
.token.keyword{color:#fff}.token.function{color:#ffba9f}.token.string{color:#e9dbe8}
.typing-cursor{color:#ffba9f}
.sketch-output,.code-controls{background:var(--plum-soft)}
.demo-module{border-color:#ad93aa;background:#fff;color:var(--plum)}
.strategy-note{background:var(--neutral)}
.platform-note{background:var(--plum);color:#fff}
.ai-note{background:var(--plum-soft)}
.note-number{color:var(--plum)}.platform-note .note-number{color:#f0dbea}
.paper-note h3{max-width:100%}
.play-build{background:#f6f5f3}
.play-evidence{background:var(--plum-soft)}
.play-decision{background:var(--plum);--line:#967a92;--muted:#e4d7e2}
.play-decision .decision h2 em{color:#ffba9f}
.maker-section{background:#fff}
.inquiry{background:var(--plum-soft)}
.inquiry-copy h2 em{color:var(--plum);text-shadow:none}
.contact-form{background:#fff}
.contact-form button{background:var(--plum);color:#fff}
.site-footer{background:#fff}
.footer-identity p:first-child{color:var(--muted);font-weight:400}
.drawer-backdrop[hidden],.mobile-drawer[hidden]{display:none}
@media(max-width:720px){.drawer-backdrop{position:fixed;inset:0;background:#4a29485c;z-index:1000;animation:lab-veil-in 180ms ease-out}.mobile-drawer{position:fixed;inset:0 0 0 auto;width:calc(100% - 28px);max-width:420px;height:100dvh;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;z-index:1001;background:#fff;border-left:2px solid var(--plum);box-shadow:-8px 0 28px #4a294818;animation:lab-drawer-in 280ms cubic-bezier(.2,.8,.2,1)}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;min-height:76px;border-bottom:1px solid var(--line)}.drawer-header .brand{font-size:23px}.drawer-close{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;padding:0;background:#fff;color:var(--ink);font:300 33px/1 RubikLab,Arial;cursor:pointer}.site-header .mobile-drawer nav{display:flex;flex-direction:column;flex-basis:auto;gap:0;padding:0 22px;margin:24px 0 0;border:0}.site-header .mobile-drawer nav a{font-size:clamp(21px,6vw,26px);font-weight:800;letter-spacing:-.035em;min-height:64px;padding:16px 0;border-bottom:1px solid var(--line);line-height:1.2}.drawer-note{display:block;margin-top:auto;padding:28px 22px calc(28px + env(safe-area-inset-bottom));font-size:12px;color:var(--muted)}}
@keyframes lab-drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes lab-veil-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.mobile-drawer,.drawer-backdrop{animation:none}}
.workshop-interior .interior-hero{background:#fff}
.workshop-interior .interior-hero h1 em{background:var(--plum);color:#fff}
.workshop-interior .dark{background:var(--plum);--line:#967a92;--muted:#e4d7e2;color:#fff}
.workshop-interior .dark .action{background:#fff;color:var(--plum);border-color:#fff;box-shadow:2px 3px 0 #c3aac0}
.workshop-interior .smallprint{color:var(--muted)}
a:focus-visible,button:focus-visible{outline-color:currentColor}
.photo-arrives{animation:lab-photo-settle 1050ms cubic-bezier(.16,.8,.24,1) both}
.card-arrives{animation:lab-card-place 850ms cubic-bezier(.16,.8,.24,1) backwards}
.platform-note.card-arrives{animation-delay:120ms}.ai-note.card-arrives{animation-delay:240ms}
.portrait-small>img{--photo-rest:-1deg}
@keyframes lab-photo-settle{from{transform:translateY(12px) rotate(-2.5deg) scale(.97);opacity:.65}to{transform:translateY(0) rotate(var(--photo-rest,0deg)) scale(1);opacity:1}}
@keyframes lab-card-place{from{transform:translate3d(var(--drag-x,0px),calc(var(--drag-y,0px) + 32px),0) rotate(calc(var(--tilt,0deg) - 5deg)) scale(.96);opacity:.3}to{transform:translate3d(var(--drag-x,0px),var(--drag-y,0px),0) rotate(var(--tilt,0deg)) scale(1);opacity:1}}
@media(min-width:1001px) and (pointer:fine){.maker-card>figure{overflow:hidden}.maker-card>figure img{transition:transform 600ms cubic-bezier(.2,.8,.2,1)}.maker-card>figure:hover img{transform:scale(1.025)}.paper-note{transition:box-shadow 200ms}.paper-note:not(.is-dragging):hover{box-shadow:8px 10px 0 #4a29481f}}
@media(max-width:720px){.platform-note.card-arrives,.ai-note.card-arrives{animation-delay:0ms}.card-arrives{animation-duration:700ms}}
@media(prefers-reduced-motion:reduce){.photo-arrives,.card-arrives{animation:none}.maker-card>figure:hover img{transform:none}}
.hero-fit{margin-top:22px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:12px;color:var(--muted)}
.hero-fit a{display:inline-flex;align-items:center;min-height:44px;color:var(--plum);font-weight:700;text-underline-offset:4px}
.launch-path{margin-top:54px;padding-top:46px;border-top:1px solid #967a92;display:grid;grid-template-columns:1fr 1fr;gap:56px}
.launch-label{font:10px/1.5 Consolas,monospace;letter-spacing:.06em;color:#e4d7e2}
.launch-intro h3{font-size:clamp(32px,3.7vw,54px);font-weight:900;line-height:1.08;max-width:14ch;margin:20px 0 26px}
.launch-intro p{font-size:18px;line-height:1.65;color:#f1e9f0;max-width:48ch}
.launch-route>div{position:relative;padding:0 0 24px 40px;margin-bottom:24px;border-bottom:1px solid #967a92}
.launch-number{position:absolute;left:0;top:2px;font:12px/1.5 Consolas,monospace;color:#ffba9f}
.launch-route h4{font-size:20px;font-weight:700;line-height:1.35;margin:0 0 12px;letter-spacing:-.02em}
.launch-route p{font-size:16px;line-height:1.65;color:#f1e9f0}
.launch-route .action{background:#fff;color:var(--plum);border-color:#fff;box-shadow:2px 3px 0 #c3aac0}
@media(max-width:720px){.hero-fit{font-size:11px}.launch-path{display:block;margin-top:38px;padding-top:34px}.launch-intro h3{font-size:36px;max-width:none}.launch-intro p{font-size:17px}.launch-route{margin-top:32px}.launch-route>div{padding-left:32px}.launch-route h4{font-size:19px}.launch-route .action{font-size:12px;max-width:none}}
