/* Lab 002 — Journal 001 visual system / one-screen edition */
.lab002-journal{overflow-x:hidden}
.lab002-journal .detail-shell{padding-top:clamp(72px,8vh,94px);padding-bottom:18px}
.lab002-journal .detail-content{min-height:calc(100vh - clamp(72px,8vh,94px) - 18px);padding-bottom:0}
.lab002-journal .journal-return{margin-bottom:18px}
.lab002-journal .reading-layout{padding-top:12px;align-items:start;flex:0 1 auto}
.lab002-journal .reading-guide{min-height:0;height:clamp(500px,66vh,650px)}
.lab002-journal .work-title{margin-bottom:20px}
.lab002-journal .work-title h1{font-size:clamp(25px,2.05vw,35px);line-height:1.12}
.lab002-journal .type{margin-top:10px}
.lab002-journal .guide-rule{margin-bottom:19px}
.lab002-journal .guide-label{margin-bottom:10px}
.lab002-journal .guide-copy{line-height:1.55;max-width:225px}
.lab002-reading{position:relative;min-width:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);grid-template-areas:"visual overview" "visual process" "visual note";column-gap:clamp(26px,3vw,52px);row-gap:13px;align-content:start}
.lab002-visual{grid-area:visual;margin:0;min-width:0}
.lab002-visual img{display:block;width:100%;height:clamp(330px,52vh,500px);object-fit:cover;object-position:center;background:#f4f6f7}
.lab002-visual figcaption{margin-top:7px;font-size:9px;letter-spacing:.07em;color:#9a9a9a}
.lab002-section{max-width:none;margin:0;color:#767676;font-size:clamp(10px,.67vw,12px);line-height:1.55}
.lab002-section p{margin:0 0 8px}
.lab002-section:nth-of-type(1){grid-area:overview}
.lab002-process{grid-area:process}
.lab002-note{grid-area:note}
.lab002-eyebrow{margin-bottom:8px!important;padding-bottom:6px;border-bottom:1px solid #d8d8d8;color:#222!important;font-size:9px!important;letter-spacing:.12em;text-transform:uppercase}
.lab002-process-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lab002-process-grid article{border-top:1px solid #e3e3e3;padding-top:8px}
.lab002-process-grid span{display:block;margin-bottom:8px;color:#aaa;font-size:9px;letter-spacing:.12em}
.lab002-process-grid h2{margin:0 0 6px;color:#353535;font-size:11px;font-weight:400;letter-spacing:.02em}
.lab002-process-grid p{font-size:10px;line-height:1.5}
.lab002-note p:last-child{margin-bottom:0}
.lab002-footer{margin-top:12px;padding-top:10px}
.lab002-footer .invitation a{white-space:nowrap}

/* brief digital noise before the two shutters open */
.entry-noise{position:fixed;z-index:30;inset:0;pointer-events:none;opacity:0;visibility:hidden;background:rgba(255,255,255,.03);mix-blend-mode:multiply}
.entry-noise::before,.entry-noise::after,.entry-noise span{content:"";position:absolute;inset:-25%;background-repeat:repeat}
.entry-noise::before{background-image:repeating-linear-gradient(0deg,rgba(17,17,17,.08) 0,rgba(17,17,17,.08) 1px,transparent 1px,transparent 4px);animation:noiseShift .11s steps(2,end) infinite}
.entry-noise::after{background-image:repeating-linear-gradient(90deg,transparent 0,transparent 11px,rgba(17,17,17,.055) 12px,transparent 13px);animation:noiseShiftX .08s steps(2,end) infinite reverse}
.entry-noise span{background-image:radial-gradient(circle,rgba(17,17,17,.34) 0 .55px,transparent .8px);background-size:5px 5px;animation:noiseFlicker .09s steps(2,end) infinite}
body.is-noising .entry-noise{visibility:visible;animation:noiseReveal .92s steps(1,end) forwards}
@keyframes noiseReveal{0%{opacity:.48}12%{opacity:.16}22%{opacity:.6}35%{opacity:.2}49%{opacity:.5}62%{opacity:.12}76%{opacity:.36}100%{opacity:0}}
@keyframes noiseShift{0%{transform:translate(0,0)}50%{transform:translate(0,7px)}100%{transform:translate(0,-4px)}}
@keyframes noiseShiftX{0%{transform:translate(0,0)}50%{transform:translate(8px,0)}100%{transform:translate(-5px,0)}}
@keyframes noiseFlicker{0%{transform:translate(0,0);opacity:.45}50%{transform:translate(3px,-2px);opacity:.2}100%{transform:translate(-2px,2px);opacity:.55}}

@media(min-width:900px) and (max-height:820px){
  .lab002-journal .detail-header{top:18px}
  .lab002-journal .detail-shell{padding-top:52px;padding-bottom:12px}
  .lab002-journal .detail-content{min-height:calc(100vh - 64px)}
  .lab002-journal .reading-guide{height:470px}
  .lab002-visual img{height:390px}
  .lab002-section{font-size:10px;line-height:1.42}
  .lab002-process-grid p{font-size:9px;line-height:1.42}
  .lab002-footer{margin-top:8px;padding-top:8px}
}
@media(max-width:1050px){
  .lab002-reading{grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);column-gap:24px}
  .lab002-process-grid{grid-template-columns:1fr;gap:8px}
  .lab002-process-grid article{display:grid;grid-template-columns:28px 1fr;column-gap:8px}
  .lab002-process-grid article span{grid-row:1/3;margin:2px 0 0}
}
@media(max-width:760px){
  .lab002-journal{overflow:auto}
  .lab002-journal .detail-shell{padding:92px 7vw 55px}
  .lab002-journal .reading-guide{height:auto}
  .lab002-reading{display:block}
  .lab002-visual{margin-bottom:28px}
  .lab002-visual img{height:auto;max-height:none}
  .lab002-section{margin-bottom:28px;font-size:12px;line-height:1.72}
  .lab002-process-grid{display:grid;grid-template-columns:1fr;gap:20px}
  .lab002-process-grid article{display:block}
  .lab002-process-grid span{margin-bottom:12px}
  .lab002-process-grid p{font-size:11px;line-height:1.65}
  .lab002-footer{margin-top:40px}
  .lab002-footer .invitation a{white-space:normal}
}
@media(prefers-reduced-motion:reduce){.entry-noise{display:none!important}}

/* r6: visible entry noise and previous/next navigation */
.entry-noise-canvas{
  position:fixed;z-index:9999;inset:0;width:100vw;height:100vh;
  pointer-events:none;opacity:.9;background:#fff;
  image-rendering:pixelated;mix-blend-mode:multiply;
  transition:opacity .22s linear;
}
.entry-noise-canvas.is-finished{opacity:0}
.lab002-footer{display:grid;grid-template-columns:1fr auto auto;gap:clamp(28px,4vw,68px);align-items:end}
.lab002-links{margin:0}
.lab-sequence{display:flex;gap:22px;align-items:center;justify-content:flex-end;padding-bottom:1px}
.lab-sequence a{color:#222;text-decoration:none;font-size:10px;letter-spacing:.11em;white-space:nowrap}
.lab-sequence a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){
  .lab002-footer{display:grid;grid-template-columns:1fr 1fr;row-gap:24px}
  .lab002-links{grid-column:1/-1}
  .lab-sequence{justify-content:space-between;grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.entry-noise-canvas{display:none!important}}
