body[data-section=lab]{--paper:#fbf1d3;--paper-deep:#f3e3b0;--accent:#c8321e;--lab-blue:#1f3fae;--lab-yellow:#ffd23f}body[data-section=lab] ::selection{background:var(--lab-yellow);color:var(--ink)}.lab-hero .wrap{padding-block:3.5rem 2.5rem;position:relative}.lab-kicker{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:.78rem}.lab-title{letter-spacing:-.035em;max-width:11ch;margin-top:.75rem;font-size:clamp(2.8rem,10vw,6.5rem);font-weight:800;line-height:.95}.lab-title em{color:var(--lab-blue);font-style:italic;font-weight:500}.lab-title .mark{background:linear-gradient(transparent 62%, var(--lab-yellow) 62% 92%, transparent 92%);padding-inline:.05em}.lab-intro{max-width:34rem;color:var(--ink-soft);margin-top:1.75rem;font-size:1.25rem}.lab-intro strong{color:var(--ink);font-weight:600}.lab-doodle{right:var(--gutter);width:clamp(5rem,14vw,10rem);color:var(--ink);transition:transform .4s cubic-bezier(.3,1.8,.5,1);position:absolute;top:3rem;transform:rotate(8deg)}.lab-doodle:hover{transform:rotate(-6deg)scale(1.06)}.lab-doodle .liquid{fill:var(--lab-yellow)}.lab-doodle .bubble{fill:none;stroke:currentColor;stroke-width:2px;animation:3.2s ease-in infinite bubble}.lab-doodle .bubble:nth-of-type(2){animation-delay:1.1s}.lab-doodle .bubble:nth-of-type(3){animation-delay:2.1s}@keyframes bubble{0%{opacity:0;transform:translateY(0)}20%{opacity:1}to{opacity:0;transform:translateY(-26px)}}.lab-block{border-top:2px solid var(--ink)}.lab-block>.wrap{padding-block:1.25rem 3rem}.lab-block h2{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-bottom:1rem;font-size:.78rem;font-weight:500}.lab-projects>li{border-top:1px solid var(--ink)}.lab-projects>li:last-child{border-bottom:1px solid var(--ink)}.lab-project{grid-template-columns:4.5rem 1fr auto;align-items:baseline;gap:.25rem 1.5rem;padding:1.75rem .75rem 1.9rem 0;text-decoration:none;transition:padding-left .2s,background-color .2s;display:grid;position:relative}.lab-project:hover{background:var(--paper-deep);color:var(--ink);padding-left:1rem}.lab-project .n{font-family:var(--mono);color:var(--lab-blue);font-size:.85rem;font-weight:500}.lab-project .t{letter-spacing:-.02em;font-size:clamp(1.8rem,4.5vw,2.8rem);font-weight:700;line-height:1.05;display:block}.lab-project:hover .t{text-decoration:underline wavy var(--accent) 2px;text-underline-offset:.18em}.lab-project .d{max-width:36rem;color:var(--ink-soft);margin-top:.5rem;font-size:1.1rem;display:block}.lab-project .go{font-family:var(--mono);white-space:nowrap;align-self:center;font-size:.85rem}.lab-project .go span{transition:transform .2s;display:inline-block}.lab-project:hover .go span{transform:translate(.35rem)}.lab-soon{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1.5rem 2rem;display:grid}.lab-soon li{border-left:3px dashed var(--ink-soft);padding-left:1rem}.lab-soon h3{font-size:1.2rem;font-weight:600;line-height:1.25}.lab-soon p{color:var(--ink-soft);margin-top:.35rem;font-size:1rem}.lab-tag{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;background:var(--lab-yellow);margin-top:.5rem;padding:.05rem .45rem;font-size:.68rem;display:inline-block}.lab-fineprint{font-family:var(--mono);color:var(--ink-soft);max-width:40rem;margin-top:2rem;font-size:.78rem}.lab-crumb{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.lab-crumb a{text-decoration:none}.lab-crumb a:hover{text-decoration:underline}.lab-shell-title{letter-spacing:-.03em;max-width:14ch;margin-top:1rem;font-size:clamp(2.4rem,8vw,5rem);font-weight:800;line-height:1}.lab-placeholder{border:2px dashed var(--ink);background:repeating-linear-gradient(-45deg,#0000 0 14px,#17181a0b 14px 28px);max-width:34rem;margin-top:2.5rem;padding:1.75rem 1.5rem}.lab-placeholder .stamp{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--accent);color:var(--accent);padding:.15rem .6rem;font-size:.78rem;font-weight:500;display:inline-block;transform:rotate(-2deg)}.lab-placeholder p{margin-top:1rem}.lab-placeholder .small{color:var(--ink-soft);font-size:1rem}.lab-back{font-family:var(--mono);margin-top:2rem;font-size:.85rem}@media (width<=52rem){.lab-hero .wrap{padding-block:2.25rem 1.75rem}.lab-doodle{width:5rem;margin:1.5rem 0 0;display:block;position:static}.lab-project{grid-template-columns:1fr;padding-right:0}.lab-project .go{margin-top:.75rem}}@media (prefers-reduced-motion:reduce){.lab-doodle,.lab-project,.lab-project .go span{transition:none}.lab-doodle .bubble{opacity:1;animation:none}}
