@charset "UTF-8";
:root{--background:#080a09;--ink:#e5dfcb;--gold:#ad9970;--muted:#8a887d;--line:#37382f;--serif:"Songti SC",SimSun,Georgia,serif;--sans:"Microsoft YaHei",system-ui,sans-serif;--panel-width:43vw;--intro-width:31vw;--model-height:51vh;--gap:4vw;--mobile-width:88vw}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--background);color:var(--ink);font-family:var(--serif);font-weight:400}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit;cursor:pointer;background:none;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:1px solid var(--gold);outline-offset:5px}button:disabled{opacity:.3;cursor:default}button:hover,a:hover{color:#fff6dc}[hidden]{display:none!important}.pattern{position:fixed;inset:-8%;background:url(pattern.svg) repeat;background-size:700px 800px;opacity:.13;pointer-events:none;will-change:transform}.grain{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,transparent 30%,#050606a8 100%);z-index:1}#world{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.masthead{position:fixed;top:0;left:0;right:0;height:112px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:28px;z-index:5;background:linear-gradient(var(--background) 45%,transparent)}.brand{display:flex;align-items:center;gap:13px;font-size:22px;letter-spacing:.18em;flex-shrink:0}.seal{display:grid;place-items:center;border:1px solid #807154;width:37px;height:42px;font-size:25px;color:var(--gold)}.brand small{display:block;font:8px Georgia,serif;letter-spacing:.21em;margin-top:7px;color:var(--muted)}.edition{display:flex;align-items:center;gap:30px;font-size:15px;letter-spacing:.35em;width:44%;white-space:nowrap}.edition span{height:1px;background:var(--line);flex:1}.catalog-trigger{font-size:12px;letter-spacing:.15em;display:flex;gap:20px;align-items:center}.catalog-trigger i{font-style:normal;font-size:17px;color:var(--gold)}#viewport{position:fixed;inset:105px 0 105px;outline:none;overflow:hidden;z-index:3;touch-action:pan-y;cursor:grab}#viewport.dragging{cursor:grabbing;user-select:none}#track{position:relative;display:flex;width:max-content;height:100%;will-change:transform}.prologue{width:var(--intro-width);flex-shrink:0;padding:11vh 3vw 0 5vw;position:relative}.eyebrow{font:9px Georgia,serif;letter-spacing:.22em;line-height:1.8;color:var(--gold);margin:0 0 22px}.prologue h1{font-size:clamp(38px,3.8vw,65px);font-weight:400;line-height:1.5;letter-spacing:.12em;margin:24px 0 35px;white-space:nowrap}.title-dot{color:var(--gold)}.prologue-foot{max-width:260px}.rule{display:block;width:44px;height:1px;background:var(--gold)}.prologue-foot p,.epilogue p:not(.eyebrow){font-size:12px;line-height:2.1;color:#a8a594;letter-spacing:.06em}.prologue button,.epilogue button{padding:15px 0;font-size:12px;letter-spacing:.15em}.prologue button span{margin-left:25px}.folio{position:absolute;left:5vw;bottom:0;font:8px Georgia,serif;letter-spacing:.16em;color:var(--muted)}#exhibits{display:flex;height:100%}.exhibit{width:var(--panel-width);position:relative;flex-shrink:0;margin-right:var(--gap)}.exhibit::before{content:"";position:absolute;top:9%;bottom:9%;right:-1.4vw;width:1px;background:linear-gradient(transparent,#5d554321,transparent)}.object-number{position:absolute;top:3vh;left:7%;font:10px Georgia,serif;letter-spacing:.15em;color:var(--gold)}.object-number::after{content:"";display:inline-block;vertical-align:middle;width:35px;height:1px;background:var(--line);margin-left:16px}.model-stage{position:absolute;top:calc(var(--y)*1vh);left:0;width:calc(var(--width)*100%);height:var(--model-height);touch-action:none;cursor:grab;border-radius:50%;isolation:isolate}.model-stage:active{cursor:grabbing}.model-stage::before{content:"";position:absolute;left:18%;right:18%;height:6%;bottom:2%;border-radius:50%;background:radial-gradient(ellipse,#0009,transparent 68%);pointer-events:none}.model-stage:focus-visible{border-radius:2px}.loading{position:absolute;top:45%;left:10%;right:10%;text-align:center;pointer-events:none;color:var(--muted);font:11px var(--sans);line-height:2}.loading b{display:block;font:10px Georgia,serif;color:var(--gold);letter-spacing:.16em}.loading::after{content:"";display:block;height:1px;background:var(--line);width:65px;margin:18px auto}.loading.failed{pointer-events:auto}.loading.failed button{border-bottom:1px solid var(--gold);margin-top:8px}.model-stage.ready .loading{display:none}.object-text{position:absolute;left:calc(var(--width)*100% - 1%);top:calc((var(--y) + 7)*1vh);display:flex;gap:17px;pointer-events:none}.object-text h2{writing-mode:vertical-rl;font-size:23px;font-weight:400;letter-spacing:.22em;line-height:1.6;margin:0;max-height:39vh}.object-text .vertical-copy{writing-mode:vertical-rl;font-size:11px;letter-spacing:.13em;line-height:1.95;max-height:27vh;color:#aba590;margin-top:50px;max-width:52px;overflow:hidden}.object-caption{position:absolute;top:calc(var(--y)*1vh + var(--model-height) + 6px);left:6%;right:12%;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.object-caption .era{font-size:10px;letter-spacing:.08em;line-height:1.8;color:var(--muted);max-width:50%}.tools{display:flex;gap:5px;align-items:center}.tools button{height:30px;min-width:29px;font:12px var(--sans);color:#b6ab90;padding:0 8px;border-bottom:1px solid transparent}.tools button:hover{border-color:var(--gold)}.tools .inspect{font:10px var(--sans);letter-spacing:.08em;margin-left:7px;border-bottom:1px solid var(--line)}.epilogue{width:var(--intro-width);padding:14vh 5vw 0 3vw;flex-shrink:0}.epilogue h2{font-size:clamp(35px,3.5vw,58px);font-weight:400;line-height:1.55}.epilogue a{display:block;font-size:11px;color:var(--muted);margin-top:20px}.wayfinding{position:fixed;bottom:35px;left:4vw;right:4vw;display:flex;align-items:center;gap:4vw;z-index:5;height:35px;font:10px var(--sans)}.location{display:flex;gap:17px;align-items:center;width:28%;min-width:160px}.location #position-number{color:var(--gold);font:19px Georgia,serif}.location #position-name{max-width:250px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.1em}.progress-wrap{display:flex;align-items:center;flex:1;gap:16px;color:var(--muted)}input[type=range]{appearance:none;-webkit-appearance:none;height:18px;background:transparent;cursor:pointer;width:100%;margin:0}input[type=range]::-webkit-slider-runnable-track{height:1px;background:linear-gradient(to right,var(--gold) var(--progress,0%),var(--line) var(--progress,0%))}input[type=range]::-webkit-slider-thumb{appearance:none;width:7px;height:7px;transform:rotate(45deg);background:var(--ink);margin-top:-3px}input[type=range]::-moz-range-track{height:1px;background:var(--line)}input[type=range]::-moz-range-thumb{width:7px;height:7px;background:var(--ink);border:0;border-radius:0}.nav-buttons{display:flex;align-items:center;gap:18px}.nav-buttons button{font-size:22px}.nav-buttons #count{font:10px Georgia,serif;color:var(--muted);white-space:nowrap}.gesture-note{position:fixed;bottom:9px;left:0;right:0;text-align:center;z-index:5;font:9px var(--sans);color:#66685e;letter-spacing:.05em}.gesture-note span{margin:0 15px}dialog{background:#10120f;color:var(--ink);border:1px solid var(--line);padding:32px;width:min(1000px,90vw);max-height:85dvh;overscroll-behavior:contain}dialog::backdrop{background:#030504df;backdrop-filter:blur(12px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top .eyebrow{margin:0}.close{font:30px Georgia,serif;padding:0 8px;color:var(--gold)}dialog h2{font-size:35px;font-weight:400;letter-spacing:.12em;margin:25px 0 12px}.dialog-intro{font-size:12px;color:var(--muted);margin-bottom:30px}#catalog-list{display:grid;grid-template-columns:1fr 1fr;column-gap:35px}#catalog-list button{padding:16px 0;border-top:1px solid var(--line);text-align:left;display:flex;gap:19px;align-items:center;font-size:13px}#catalog-list button span:first-child{font:11px Georgia,serif;color:var(--gold)}#catalog-list button span:last-child{line-height:1.8}#observer{width:min(1440px,95vw);height:90dvh;max-height:94dvh;overflow:hidden;padding:25px 32px;background:transparent;border-color:#56544380}#observer::backdrop{background:#080a09f7;backdrop-filter:none}.observer-body{display:grid;grid-template-columns:2fr 1fr;height:calc(100% - 35px);gap:36px}.observer-body #observer-stage{position:relative;top:0;left:0;width:100%;height:100%;border-radius:0}.observer-body aside{overflow:auto;padding:6vh 18px 20px 0;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.observer-body h2{font-size:clamp(24px,2.4vw,38px);line-height:1.5;margin:12px 0 20px}.observer-body p{font-size:12px;line-height:2}.observer-body #observer-subtitle{color:var(--gold);font-size:15px}dl{font:11px var(--sans);line-height:1.9;margin:30px 0}dt{color:var(--muted);margin-top:14px}dd{margin:4px 0 0}.source-note{color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.observer-body a{font:11px var(--sans);color:var(--gold)}.observer-tools{margin-top:23px}.micro{color:var(--muted);font:10px var(--sans)!important}#global-error{position:fixed;left:10%;right:10%;top:35%;z-index:9;padding:25px;background:#171914;border:1px solid var(--gold);line-height:2;font-size:14px}noscript{position:fixed;top:45%;left:10%;z-index:8}
@media(min-height:950px){.model-stage{--model-height:48vh}.object-caption{top:calc(var(--y)*1vh + 48vh + 6px)}}
@media(max-height:740px) and (min-width:701px){.masthead{height:85px}#viewport{inset:80px 0 90px}.model-stage{--model-height:46vh}.object-caption{top:calc(var(--y)*1vh + 46vh + 6px)}.prologue{padding-top:6vh}.prologue h1{margin:15px 0 22px}.object-text h2{font-size:20px}.wayfinding{bottom:30px}}
@media(max-width:700px){.masthead{height:85px;padding:0 6vw}.brand{font-size:19px;gap:10px}.brand small{font-size:7px}.seal{width:30px;height:35px;font-size:22px}.edition{display:none}.catalog-trigger{font-size:11px;gap:10px}#viewport{inset:85px 0 115px}.prologue{width:86vw;padding:11vh 10vw 0}.prologue h1{font-size:43px;margin:23px 0 27px}.eyebrow{font-size:8px;letter-spacing:.14em}.folio{left:10vw;bottom:2vh}.exhibit{width:var(--mobile-width);margin-right:8vw}.model-stage{--y:10!important;--width:.86!important;--model-height:43vh}.object-number{top:1vh;left:6%}.object-text{left:78%;top:16vh;gap:9px}.object-text h2{font-size:21px;max-height:35vh}.vertical-copy{display:none}.object-caption{top:calc(53vh + 8px);left:5%;right:5%}.object-caption .era{font-size:10px;max-width:41%}.tools{gap:0}.tools button{padding:0 7px}.wayfinding{left:6vw;right:6vw;bottom:39px;flex-wrap:wrap;gap:5px;height:54px;justify-content:space-between}.location{width:62%;font-size:10px;gap:12px}.location #position-number{font-size:16px}.progress-wrap{order:3;width:100%;flex:auto;gap:12px}.nav-buttons{gap:14px}.nav-buttons button{font-size:19px}.gesture-note{bottom:11px;font-size:8px}.gesture-note span{margin:0 7px}.epilogue{width:90vw;padding:15vh 10vw 0}.epilogue h2{font-size:43px}dialog{padding:20px;width:92vw}#catalog-list{grid-template-columns:1fr}#catalog-list button{padding:13px 0}#observer{height:94dvh;width:96vw;padding:17px;overflow:auto}.observer-body{display:flex;flex-direction:column;gap:5px;height:auto}.observer-body #observer-stage{height:45dvh;flex-shrink:0}.observer-body aside{padding:10px 7px;overflow:visible}.observer-body h2{font-size:27px}.observer-body .eyebrow{margin-bottom:10px}.observer-body dl{margin:20px 0}.observer-body p{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}#track,.pattern{will-change:auto}}
@media(max-width:700px){.object-text{left:89%}.model-stage{--width:.82!important}}
@media(max-height:560px) and (min-width:701px){.masthead{height:68px}#viewport{inset:65px 0 78px}.model-stage{--y:3!important;--model-height:39vh}.object-caption{top:calc(42vh + 6px)}.object-text{top:8vh}.object-text h2{max-height:30vh;font-size:18px}.object-text .vertical-copy{margin-top:15px;font-size:9px;max-height:25vh}.prologue{padding-top:2vh}.prologue h1{font-size:31px;line-height:1.3;margin:8px 0 14px}.prologue .eyebrow{margin-bottom:7px;font-size:7px}.prologue-foot p{font-size:10px;line-height:1.6}.folio{display:none}.wayfinding{bottom:25px}.gesture-note{bottom:5px}.epilogue{padding-top:3vh}.epilogue h2{font-size:31px;margin:10px 0}}
@media(max-width:700px) and (max-height:620px){.model-stage{--y:3!important;--model-height:32vh}.object-caption{top:calc(35vh + 5px)}.object-text{top:6vh}.object-text h2{max-height:29vh;font-size:18px}.prologue{padding-top:3vh}.prologue h1{font-size:33px;line-height:1.3;margin:10px 0 15px}.prologue-foot p{font-size:10px;line-height:1.7}.prologue button{padding:9px 0}.folio{display:none}}
#observer{scrollbar-width:thin;scrollbar-color:var(--line) var(--background)}#observer .dialog-top{position:sticky;top:0;background:#080a09eb;z-index:4}#observer .observer-tools{margin:0}#observer .observer-body{position:relative;z-index:1}
@media(max-width:700px){.long-title .object-text{left:83%}.long-title .object-text h2{font-size:18px;letter-spacing:.13em;line-height:1.65}}
html{color-scheme:dark}@media(max-width:700px){.tools button{min-width:34px;height:40px}.object-caption .era{max-width:36%}}
.interaction-surface{position:absolute;inset:0;width:100%;height:100%;touch-action:none;background:none;border:0}.model-stage .loading{z-index:1}#observer{border:0}#observer .dialog-top{background:transparent}
.exhibit .model-stage{z-index:1}.exhibit .object-text{z-index:3}.exhibit .object-caption{z-index:4}
.model-stage:focus-visible{outline:none}.exhibit:has(.model-stage:focus-visible) .object-number{text-decoration:underline;text-underline-offset:5px;color:var(--ink)}
.preload-mode{font:11px var(--sans);letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);background:transparent;padding:7px 10px;white-space:nowrap;cursor:pointer;margin-left:auto;margin-right:20px}.preload-mode[aria-pressed="true"]{color:var(--gold)}@media(max-width:760px){.preload-mode{font-size:10px;padding:5px 7px;margin-right:12px}}

/* Folio-inspired editorial layout for the horizontal collection. */
.masthead{height:124px;padding-inline:5vw;background:linear-gradient(var(--background) 74%,#080a09e8 91%,transparent)}
.masthead::after{content:"";position:absolute;left:5vw;right:5vw;bottom:22px;height:1px;background:linear-gradient(90deg,var(--gold),var(--line) 32%,var(--line) 68%,transparent)}
.brand{gap:15px;font-size:21px;letter-spacing:.12em}.seal{width:34px;height:40px;font-size:23px;border-color:#ad997080}
.edition{width:42%;gap:22px;font-family:var(--serif);font-size:13px;letter-spacing:.2em;color:#c9c1ad}.edition span{background:linear-gradient(90deg,transparent,var(--line),transparent)}
.preload-mode{border:0;border-bottom:1px solid var(--line);padding:8px 2px;font-size:10px;letter-spacing:.1em}
#viewport{inset:120px 0 112px}
.prologue{padding:10vh 3vw 0 6vw}
.prologue::before{content:"";position:absolute;left:5vw;top:8%;bottom:8%;width:1px;background:linear-gradient(transparent,#ad997080 16%,#ad997080 84%,transparent)}
.prologue::after{content:"物上有言  /  COLLECTION";position:absolute;left:calc(5vw - 6px);top:9%;writing-mode:vertical-rl;font:8px Georgia,serif;letter-spacing:.15em;color:var(--gold);background:var(--background);padding:8px 0}
.prologue h1{font-family:var(--serif);font-size:56px;line-height:1.48;letter-spacing:.08em;margin:26px 0 30px}
.prologue .eyebrow,.epilogue .eyebrow{font-size:9px;letter-spacing:.19em}
.prologue-foot{max-width:275px}.prologue-foot p{font-family:var(--serif);font-size:13px;line-height:2.2;color:#c1baa8}
.prologue button,.epilogue button{border-bottom:1px solid #ad997080;padding:12px 0;font-family:var(--serif)}
.folio{bottom:1vh;color:#777365}
.exhibit::before{top:7%;bottom:7%;right:-2vw;background:linear-gradient(transparent,#8c7d5b54 18%,#8c7d5b54 82%,transparent)}
.object-number{top:2.4vh;left:6%;font-size:10px;letter-spacing:.18em;color:#c3ad7e}
.object-number::after{width:48px;margin-left:13px;background:linear-gradient(90deg,#ad997080,transparent)}
.object-text{gap:13px}.object-text h2{font-family:var(--serif);font-size:22px;letter-spacing:.17em;color:#eee6d2}
.object-text .vertical-copy{font-family:var(--serif);color:#aaa28e;letter-spacing:.1em}
.object-caption{top:calc(var(--y)*1vh + var(--model-height) + 14px);left:6%;right:9%;padding-top:12px;border-top:1px solid #ad99704a;align-items:center}
.object-caption .era{font-family:var(--serif);font-size:11px;letter-spacing:.06em;color:#aaa28e}
.tools button{height:32px;min-width:31px;border-bottom-color:#77705a50}.tools .inspect{font-size:10px;border-bottom-color:#ad997080}
.epilogue{padding:13vh 4vw 0 3vw}.epilogue h2{font-family:var(--serif);font-size:48px;line-height:1.55}
.wayfinding{left:5vw;right:5vw;bottom:36px;gap:3vw;height:42px;border-top:1px solid #ad997055;padding-top:17px;background:linear-gradient(180deg,#080a09e8,transparent)}
.location{width:25%;gap:14px}.location #position-number{font-size:17px}.location #position-name{font-family:var(--serif);letter-spacing:.08em}
.nav-buttons{gap:15px}.nav-buttons button{color:#c9b68c}.nav-buttons #count{font-size:10px;letter-spacing:.08em}
.gesture-note{bottom:8px;font-family:var(--serif);letter-spacing:.08em;color:#79776d}
@media(max-width:700px){
  .masthead{height:96px;padding:0 6vw}.masthead::after{left:6vw;right:6vw;bottom:15px}
  .brand{font-size:18px;gap:9px}.seal{width:29px;height:34px;font-size:20px}.catalog-trigger{letter-spacing:.1em}
  .preload-mode{font-size:9px;margin-right:5px;padding:5px 0}
  #viewport{inset:98px 0 122px}
  .prologue{padding:9vh 10vw 0;width:86vw}.prologue::before{left:6vw}.prologue::after{left:calc(6vw - 5px);font-size:7px}
  .prologue h1{font-size:40px;line-height:1.55;margin:23px 0 25px}.prologue .eyebrow{font-size:8px;letter-spacing:.12em}.prologue-foot p{font-size:12px}.folio{left:10vw}
  .exhibit::before{right:-4vw}.object-number{top:1vh;letter-spacing:.13em}.object-number::after{width:27px;margin-left:9px}
  .object-text{left:86%;top:15vh;gap:8px}.object-text h2{font-size:19px;letter-spacing:.13em}.object-text .vertical-copy{font-size:9px;max-width:40px}
  .object-caption{top:calc(53vh + 12px);left:5%;right:5%;padding-top:9px;gap:5px}.object-caption .era{font-size:9px;max-width:39%}
  .tools button{min-width:32px;height:38px;padding:0 5px}.tools .inspect{font-size:9px;margin-left:2px}
  .wayfinding{left:6vw;right:6vw;bottom:40px;height:58px;padding-top:7px;gap:4px;background:linear-gradient(180deg,#080a09f0,transparent)}
  .location{width:62%;gap:10px}.location #position-name{font-size:10px}.progress-wrap{gap:9px}.nav-buttons{gap:10px}
  .gesture-note{bottom:9px;font-size:8px}.gesture-note span{margin:0 6px}
  .epilogue{padding:12vh 10vw 0}.epilogue h2{font-size:40px}
}
@media(max-width:380px){.prologue h1{font-size:36px}.preload-mode{max-width:88px;white-space:normal;line-height:1.35}.catalog-trigger{gap:6px}.object-caption .era{max-width:34%}.tools button{min-width:29px;padding:0 4px}}
@media(max-height:560px) and (min-width:701px){.masthead{height:76px}.masthead::after{bottom:10px}#viewport{inset:75px 0 90px}.prologue{padding-top:2vh}.prologue h1{font-size:34px;line-height:1.35}.prologue::before{top:2%;bottom:3%}.prologue::after{top:3%}.wayfinding{bottom:24px;padding-top:10px}}

/* Reference board composition: wide patterned panels, centered title, dispersed objects and type. */
.pattern{opacity:.22;background-size:560px 640px;filter:sepia(.22) saturate(.72)}
.masthead{height:138px;justify-content:center;padding-inline:4vw;background:linear-gradient(var(--background) 72%,#080a09ed 94%,transparent)}
.masthead .brand{position:absolute;left:5vw;top:30px}.masthead .edition{width:min(54vw,760px);font-size:clamp(18px,2vw,30px);letter-spacing:.18em;justify-content:center}.masthead .edition::before{content:"FLORA GROW";position:absolute;font-family:Georgia,var(--serif);font-weight:600;letter-spacing:.07em;color:#efe5c7}.masthead .edition{font-size:0}.masthead .edition span{display:block;width:19vw;flex:0 1 19vw;margin-top:2px}.masthead .preload-mode{position:absolute;right:12vw;top:28px}.masthead .catalog-trigger{position:absolute;right:4vw;top:31px}
#viewport{inset:138px 0 112px}.prologue{width:42vw;min-width:420px;padding:8vh 5vw 0}.prologue h1{font-size:clamp(44px,5vw,76px);line-height:1.27;letter-spacing:.12em}.prologue::before{left:3.5vw}.prologue::after{left:calc(3.5vw - 5px)}
.exhibit{width:78vw;min-width:760px;margin-right:7vw;background:linear-gradient(90deg,transparent,#0b0c0b36 12%,#0b0c0b36 88%,transparent)}.exhibit::after{content:"";position:absolute;inset:4% 3%;border:1px solid #ad99701f;pointer-events:none}.exhibit::before{right:-3.5vw;top:4%;bottom:4%;background:linear-gradient(transparent,#ad997080 20%,#ad997080 80%,transparent)}
.object-number{top:3.5vh;left:5%;font-size:11px}.object-number::after{width:7vw}.model-stage{top:calc(var(--y)*.82vh + 4vh);left:16%;width:calc(var(--width)*78%);height:52vh}.object-text{left:calc(16% + var(--width)*78% - 1%);top:calc(var(--y)*.82vh + 11vh);gap:17px}.object-text h2{font-size:26px;max-height:42vh}.object-text .vertical-copy{font-size:12px;max-height:31vh;line-height:2.15}.object-caption{top:calc(var(--y)*.82vh + 56vh);left:16%;right:12%;padding-top:13px}.object-caption .era{font-size:11px}.wayfinding{bottom:33px}

/* Reference close view: floral dark field, large central object, editorial side copy. */
#observer{width:min(1540px,96vw);height:min(900px,92dvh);padding:26px 42px;background:#080a09 url(pattern.svg) center/720px 820px repeat;border:1px solid #5d5441;box-shadow:0 24px 80px #000b;overflow:hidden}
#observer::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 35%,#020303a8 100%);pointer-events:none}
#observer .dialog-top,#observer .observer-body{position:relative;z-index:1}.observer-body{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(380px,1.65fr) minmax(250px,.9fr);gap:28px;height:calc(100% - 34px);align-items:stretch}.observer-left-copy{display:flex;flex-direction:column;justify-content:flex-start;padding:10vh 0 0 2vw;color:#eee6d2}.observer-left-copy p{margin:0}.observer-left-copy #observer-left-kicker{font-size:clamp(22px,2vw,34px);letter-spacing:.16em;writing-mode:vertical-rl;line-height:1.5}.observer-left-copy h2{font-family:Georgia,var(--serif);font-size:clamp(34px,4vw,68px);line-height:1.05;letter-spacing:.08em;margin:34px 0 0;max-width:4ch;word-break:break-all}.observer-left-copy #observer-left-en{font:11px Georgia,serif;letter-spacing:.28em;line-height:2.1;color:var(--gold);margin-top:22px}.observer-body #observer-stage{grid-column:2;grid-row:1;position:relative;top:0;left:0;width:100%;height:100%;min-height:0;border-radius:0}.observer-body #observer-stage::before{left:17%;right:17%;bottom:9%;height:8%;background:radial-gradient(ellipse,#000c,transparent 70%)}.observer-body aside{grid-column:3;grid-row:1;overflow:auto;padding:7vh 1vw 20px 0;border-left:1px solid #ad99704a;padding-left:28px}.observer-body aside h2{font-size:clamp(28px,2.7vw,46px);line-height:1.45;margin:12px 0 20px;writing-mode:vertical-rl;max-height:32vh;letter-spacing:.18em}.observer-body aside #observer-subtitle{writing-mode:vertical-rl;line-height:2.1;max-height:30vh}.observer-body aside dl{border-top:1px solid #ad997055;padding-top:18px;margin-top:28px}.observer-body aside .source-note{font-size:12px;line-height:2}.observer-body aside .micro{font-size:10px!important;line-height:1.9}
@media(max-width:900px){.masthead .edition span{width:12vw;flex-basis:12vw}.exhibit{width:88vw;min-width:680px}.model-stage{left:10%;width:calc(var(--width)*82%)}.object-text{left:calc(10% + var(--width)*82% - 1%)}#observer{padding:22px 24px}.observer-body{grid-template-columns:130px minmax(300px,1fr) 220px;gap:16px}.observer-left-copy h2{font-size:38px}.observer-body aside{padding-left:18px}}
@media(max-width:700px){.masthead{height:104px}.masthead .brand{top:20px;left:6vw}.masthead .edition{display:flex;position:static;width:100%;padding-top:21px}.masthead .edition::before{font-size:18px}.masthead .edition span{width:16vw;flex-basis:16vw}.masthead .preload-mode{top:62px;right:17vw}.masthead .catalog-trigger{top:64px;right:6vw}.masthead::after{bottom:8px}#viewport{inset:104px 0 122px}.prologue{width:86vw;min-width:86vw}.exhibit{width:92vw;min-width:92vw}.exhibit::after{inset:3% 4%}.model-stage{top:9vh;left:8%;width:78%;height:43vh}.object-text{left:78%;top:15vh}.object-text h2{font-size:20px}.object-caption{top:calc(43vh + 10vh);left:8%;right:7%}#observer{width:96vw;height:94dvh;padding:16px}.observer-body{display:grid;grid-template-columns:86px 1fr;height:calc(100% - 35px);gap:12px}.observer-left-copy{grid-column:1;padding:8vh 0 0}.observer-left-copy #observer-left-kicker{font-size:16px}.observer-left-copy h2{font-size:30px;margin-top:25px}.observer-left-copy #observer-left-en{font-size:8px;letter-spacing:.16em}.observer-body #observer-stage{grid-column:2;grid-row:1;height:47dvh}.observer-body aside{grid-column:1 / -1;grid-row:2;border-left:0;border-top:1px solid #ad99704a;padding:16px 7px;overflow:auto}.observer-body aside h2{font-size:25px;writing-mode:horizontal-tb;max-height:none}.observer-body aside #observer-subtitle{writing-mode:horizontal-tb;max-height:none}.observer-body aside dl{margin-top:16px}}

/* T-048 reference composition: several narrow exhibits remain visible together on desktop. */
@media(min-width:1201px){
  #viewport{inset:138px 0 82px}
  /* Reference screen: begin with a continuous field of objects, without a separate intro card. */
  .prologue{width:0;min-width:0;padding:0;overflow:hidden;pointer-events:none}
  .prologue>*{display:none}
  .exhibit{width:24vw;min-width:0;max-width:none;height:100%;margin-right:0;background:none}
  .exhibit::after,.exhibit::before{display:none}
  .object-number,.object-caption{display:none}
  .model-stage{top:calc(var(--y)*.5vh + 4vh);left:calc(var(--model-x)*1%);width:calc(var(--width)*72%);height:46vh}
  .object-text{left:calc(var(--text-x)*1%);top:calc(var(--y)*.5vh + 18vh);gap:7px}
  .object-text h2{font-size:clamp(15px,1vw,19px);letter-spacing:.12em;max-height:32vh;color:#eee6d2}
  .object-text .vertical-copy{font-size:clamp(8px,.52vw,10px);max-height:27vh;line-height:1.8;max-width:26px;margin-top:20px;color:#b1a88e}
  .interaction-surface{z-index:2}
  .brand-copy{display:none}
  .masthead .preload-mode{top:26px;right:16vw;font-size:9px}
  .masthead .catalog-trigger{right:4vw;top:28px}
  .masthead .edition span{width:19vw;flex-basis:19vw}
  .wayfinding{bottom:18px;opacity:.68}
  .masthead .brand{left:5vw;top:28px;font-family:Georgia,var(--serif);font-size:17px;letter-spacing:.16em;text-transform:none}
  .brand-copy{display:block;line-height:1.25;text-transform:none}
  .brand-copy small{font-size:8px;letter-spacing:.34em;text-transform:none;margin-top:7px;color:#d0c5aa}
  .masthead .edition::before{content:"FLORA GROW";position:relative;z-index:1;padding:0 16px;background:var(--background);font-family:Georgia,var(--serif);font-size:clamp(22px,2.5vw,38px);letter-spacing:.07em}
  .masthead .edition span{width:15vw;flex-basis:15vw;background:#d8c99f}
  .masthead::after{display:none}
  .masthead .catalog-trigger{font-size:0;right:4.5vw;top:30px;width:42px;height:42px}
  .masthead .catalog-trigger i{font-size:26px;color:#e5d9b8}
  .wayfinding{bottom:25px;opacity:.82}
}

@media(min-width:1201px) and (max-height:760px){
  .model-stage{height:40vh}
  .object-text{top:calc(var(--y)*.5vh + 17vh)}
}
