.plant-project { --ink:#fff; --paper:#000; color:var(--ink); background:var(--paper); font-family:Arial,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif; }
.plant-project a { color:inherit; text-decoration:none; }
.plant-project button { color:inherit; cursor:pointer; }
.plant-project figure, .plant-project h1, .plant-project h2, .plant-project h3, .plant-project p { margin:0; }
.plant-project button:focus-visible,.plant-project a:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
.plant-wrap { padding-inline:clamp(24px,5vw,100px); }
.plant-cover { background:#000; }
.plant-cover img { width:100%; height:auto; display:block; }
.plant-concept { padding-block:110px 130px; }
.plant-concept-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:8vw; margin-top:0; }
.plant-project h2 { font-size:clamp(32px,3.5vw,68px); line-height:1.16; font-weight:500; letter-spacing:-.045em; }
.plant-copy { font-size:18px; line-height:1.9; max-width:660px; }
.plant-copy p+p { margin-top:22px; }
.plant-film-section { padding-bottom:120px; }
.plant-film { width:100%; aspect-ratio:16/9; display:block; background:#000; }
.plant-specimens { padding-bottom:110px; }
.plant-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:56px 22px; }
.plant-card { min-width:0; }
.plant-art { position:relative; display:block; width:100%; aspect-ratio:2480/3508; border:0; padding:0; background:#000; color:#fff!important; overflow:hidden; }
.plant-art img,.plant-art video { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
.plant-motion { opacity:0; }
.plant-motion.is-ready { opacity:1; }
.plant-type { pointer-events:none; }
.plant-art:hover { outline:1px solid #ffffff65; outline-offset:7px; }
.plant-collection { margin-top:90px!important; }
.plant-collection img { display:block; width:100%; height:auto; }
.plant-applications { padding-bottom:80px; }
.plant-application img { width:100%; height:auto; display:block; }
.plant-cursor { position:fixed; left:0; top:0; width:30px; height:30px; border:2px solid white; border-radius:50%; z-index:30; pointer-events:none; opacity:0; transform:translate(-50%,-50%); transition:width .15s,height .15s,opacity .15s; }
.plant-cursor.is-interactive { width:44px; height:44px; }
.plant-lightbox { border:0; padding:20px; background:#0c0c0c; color:#fff; width:min(94vw,1040px); max-height:96svh; }
.plant-lightbox::backdrop { background:#000c; backdrop-filter:blur(6px); }
.plant-lightbox-bar,.plant-lightbox-nav { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.plant-lightbox h2 { font-size:18px; letter-spacing:0; }
.plant-lightbox button { background:none; border:1px solid #ffffff65; border-radius:24px; padding:10px 16px; font-size:14px; color:#fff; }
.plant-lightbox-close { width:40px; height:40px; display:grid; place-items:center; padding:0!important; border-radius:50%!important; flex:none; }
.plant-lightbox-close span { font-size:28px; line-height:1; }
.plant-lightbox-image { display:block; width:100%; height:calc(96svh - 160px); object-fit:contain; margin-block:16px; }
.plant-lightbox-nav { font-size:14px; }
.plant-project[data-enhanced] [data-reveal] { transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.3,1); }
.plant-project[data-enhanced] [data-reveal]:not(.is-revealed) { opacity:0; transform:translateY(28px); }
@media (pointer:fine) { .plant-project.has-project-cursor,.plant-project.has-project-cursor a,.plant-project.has-project-cursor button { cursor:none; } .plant-project.has-project-cursor video[controls] { cursor:auto; } }
@media (max-width:900px) { .plant-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .plant-concept-grid { gap:36px; } }
@media (max-width:600px) {
 .plant-concept { padding-block:64px 76px; }
 .plant-concept-grid { grid-template-columns:1fr; margin-top:28px; }
 .plant-copy { font-size:16px; }
 .plant-grid { gap:30px 12px; }
 .plant-film-section,.plant-specimens { padding-bottom:70px; }
 .plant-collection { margin-top:55px!important; }
 .plant-lightbox { padding:16px; }
}
@media (pointer:coarse) { .plant-cursor { display:none; } }
@media (prefers-reduced-motion:reduce) { .plant-project[data-enhanced] [data-reveal] { opacity:1!important; transform:none!important; transition:none; } }

.plant-film-controls { display:flex; align-items:center; gap:18px; padding-block:16px; }
.plant-film-controls[hidden],.plant-film-status[hidden] { display:none; }
.plant-film-controls button { background:none; border:0; padding:8px; min-width:40px; font-size:20px; }
.plant-film-controls input { flex:1; min-width:0; accent-color:white; cursor:pointer; height:24px; }
.plant-film-controls output { font-size:13px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.plant-film-controls :disabled { opacity:.5; }
.plant-film-status { font-size:13px; color:#aaa; }
.plant-application-marquee { overflow:hidden; width:100%; }
.plant-application-track { display:flex; width:max-content; animation:plant-marquee 36s linear infinite; }
.plant-application-group { display:flex; gap:24px; padding-right:24px; }
.plant-application-group .plant-application { flex:none; width:clamp(280px,58vw,960px); }
.plant-application-marquee:hover .plant-application-track,.plant-application-marquee:focus-within .plant-application-track { animation-play-state:paused; }
@keyframes plant-marquee { to { transform:translateX(-50%); } }
@media (max-width:600px) { .plant-film-controls { gap:8px; } .plant-film-controls output { font-size:11px; } }
@media (prefers-reduced-motion:reduce) { .plant-application-track { animation:none; } .plant-application-marquee { overflow-x:auto; } .plant-application-group[aria-hidden] { display:none; } }
