/* 全球案例：两扇闭合的项目大门，地图与工厂能力在其后展开。 */
.cases-gateway{position:relative;isolation:isolate;overflow:hidden;min-height:calc(100svh - var(--top-h,76px));box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:clamp(16px,2vw,30px) var(--gut,20px);background:var(--night);color:var(--night-text)}
.cases-gateway .crumb,.cases-category-head .crumb{padding:0 0 8px!important}
.cases-gateway-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}
.cases-gateway-heading h1,.cases-category-head h1{margin:0;color:var(--night-text);font-size:clamp(38px,5vw,68px);line-height:1.12}
.cases-gateway-heading p,.cases-category-head p{margin:0;color:var(--night-text);font-size:clamp(16px,1.3vw,19px);line-height:1.6}
.cases-gateway-heading p{text-align:right}
.cases-choices{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;margin-top:clamp(14px,2vw,26px);background:var(--night-line,#2a2a2e);perspective:1500px}
.case-door{position:relative;min-width:0;display:flex;flex-direction:column;overflow:hidden;color:#fff;text-decoration:none;background:var(--night,#0b0b0d);box-shadow:inset 0 0 0 2px rgba(255,255,255,.2),inset 18px 0 30px rgba(255,255,255,.025),inset -18px 0 30px rgba(0,0,0,.45)}
.case-door::before{content:"";position:absolute;z-index:2;top:0;bottom:0;width:8px;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.1),rgba(0,0,0,.72))}
.case-door-dino::before{right:0}.case-door-lantern::before{left:0;transform:scaleX(-1)}
.case-door::after{content:"";position:absolute;top:39%;height:clamp(50px,8vw,92px);width:4px;border-radius:4px;background:var(--accent,#f26b1d);opacity:.85;pointer-events:none;box-shadow:0 0 8px rgba(242,107,29,.45)}
.case-door-dino::after{right:12px}.case-door-lantern::after{left:12px}
.case-door figure{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:min(39svh,430px);margin:0;padding:clamp(14px,2vw,28px) clamp(20px,3vw,42px) 0;box-sizing:border-box}
.case-door figure img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;object-position:center;transition:filter .3s ease;filter:brightness(.88)}
.case-door:hover figure img,.case-door:focus-visible figure img{filter:brightness(1)}
.case-door-info{display:flex;flex:1;flex-direction:column;align-items:center;box-sizing:border-box;text-align:center;padding:clamp(12px,1.6vw,24px) clamp(18px,2.5vw,36px) clamp(18px,2vw,28px);color:#fff}
.case-door-place{display:block;color:var(--night-dim,#b2b0ab);font-size:clamp(12px,1vw,15px);line-height:1.4}
body:is(.w-lantern,.w-dino) main .case-door h2{margin:7px 0 0;color:#fff;font-size:clamp(26px,3vw,42px)!important;line-height:1.14}
.case-door-info p{margin:7px 0 12px;color:var(--night-text,#eee);font-size:clamp(14px,1.2vw,17px);line-height:1.5}
.case-door-action{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:clamp(12px,1.7vw,24px);min-height:48px;margin-top:auto;padding:10px 20px;background:var(--accent,#f26b1d);color:#0b0b0d;font-weight:700;font-size:15px}
.case-door:hover .case-door-action{background:var(--inner-orange-hover,#ff8a3d)}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
 .case-door{transition:transform .3s ease}
 .case-door-dino{transform-origin:left center}.case-door-lantern{transform-origin:right center}
 .case-door-dino:is(:hover,:focus-visible){transform:rotateY(-4deg)}
 .case-door-lantern:is(:hover,:focus-visible){transform:rotateY(4deg)}
}
.case-door:focus-visible,.cases-all-link a:focus-visible,.cases-category-head a:focus-visible,.case-world a:focus-visible,.case-ability summary:focus-visible{outline:3px solid var(--accent,#f26b1d);outline-offset:3px;z-index:3}
.cases-all-link{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:7px 0 0;font-size:15px;line-height:1.5;color:var(--night-dim)}
.cases-all-link a,.cases-category-head nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--night-text);text-decoration:underline;text-underline-offset:4px}
.cases-category-head{padding:clamp(32px,5vw,76px) var(--gut,20px) clamp(20px,3vw,44px);background:var(--night);color:var(--night-text)}
.cases-category-head nav{display:flex;flex-wrap:wrap;gap:4px 28px;margin-top:18px}
.cases-list-note{margin:0 0 18px;color:var(--ink2);font-size:16px;line-height:1.7}
#case-results,#case-world{scroll-margin-top:calc(var(--top-h,76px) + 12px)}
/* 国家位置为示意。地图上的链接与下方文本链接均可直接访问案例。 */
.case-world{padding:clamp(70px,8vw,120px) var(--gut,20px);background:var(--night,#0b0b0d);color:var(--night-text,#eee)}
.case-world-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:clamp(32px,4vw,60px)}
body:is(.w-lantern,.w-dino) main .case-world-intro h2{margin:0;font-size:clamp(34px,4.5vw,64px)!important;line-height:1.12;color:#fff}
.case-world-intro p{margin:12px 0 0;max-width:27em;line-height:1.7;color:var(--night-dim,#b2b0ab)}
.case-world-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(32px,5vw,80px);align-items:start}
.case-world-map{position:relative;width:100%;aspect-ratio:1200/560;isolation:isolate}
.case-world-base{display:block;width:100%;height:100%;color:rgba(238,238,236,.28)}
.case-world-routes{fill:none;stroke:var(--accent,#f26b1d);stroke-width:1.4;stroke-opacity:.55;stroke-dasharray:4 6}
.case-world-pin,.case-world-origin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%)}
.case-world-pin{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;text-decoration:none;color:#fff;z-index:1}
.case-world-pin::before{content:"";width:9px;height:9px;background:var(--accent,#f26b1d);border:2px solid #fff;border-radius:50%;box-shadow:0 0 12px rgba(242,107,29,.65)}
.case-world-pin span{position:absolute;left:50%;bottom:calc(100% - 4px);transform:translateX(-50%);padding:5px 8px;background:var(--night,#0b0b0d);border:1px solid var(--accent,#f26b1d);font-size:13px;line-height:1.3;white-space:nowrap;opacity:0;pointer-events:none}
.case-world-pin:is(:hover,:focus-visible) span{opacity:1}
.case-world-origin{color:#fff;font-weight:700;font-size:14px;white-space:nowrap;pointer-events:none;z-index:0}
.case-world-origin::before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;border:2px solid #fff;border-radius:50%;background:var(--accent,#f26b1d)}
.case-world-links{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:12px}
.case-world-links a,.case-ability-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#fff;text-decoration:underline;text-underline-offset:4px;font-size:15px}
.case-world-links a:hover,.case-ability-link:hover{color:var(--accent,#f26b1d)}
.case-ability h3{margin:0;color:#fff;font-size:clamp(27px,2.6vw,38px);line-height:1.25}
.case-ability>p{margin:12px 0 22px;line-height:1.7;color:var(--night-dim,#b2b0ab)}
.case-ability-list{border-top:1px solid rgba(255,255,255,.25);margin-bottom:12px}
.case-ability details{border-bottom:1px solid rgba(255,255,255,.25)}
.case-ability summary{min-height:48px;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;color:#fff;font-size:17px;font-weight:700;list-style:none}
.case-ability summary::-webkit-details-marker{display:none}.case-ability summary::after{content:"+";font-size:24px;font-weight:400;color:var(--accent,#f26b1d)}.case-ability details[open] summary::after{content:"−"}
.case-ability details p{margin:0 0 16px;line-height:1.7;color:var(--night-text,#eee);font-size:15px}
.case-ability-link{margin-right:22px}
@media(max-width:900px){.case-world-intro{display:block}.case-world-layout{grid-template-columns:minmax(0,1fr);gap:44px}.case-world-origin{font-size:12px}.case-world-pin span{font-size:12px}}
@media(max-width:700px){
 .cases-gateway{min-height:calc(100svh - var(--top-h,64px));justify-content:flex-start;padding-top:14px;padding-bottom:14px}
 .cases-gateway-heading{display:block}.cases-gateway-heading h1{font-size:36px}.cases-gateway-heading p{margin-top:5px;text-align:left;font-size:14px;line-height:1.4}
 .cases-choices{margin-top:12px;gap:2px}
 .case-door::after{top:40%;height:48px;width:3px}.case-door-dino::after{right:5px}.case-door-lantern::after{left:5px}
 .case-door figure{height:clamp(170px,30svh,230px);padding:12px 8px 0}
 .case-door-info{padding:10px 6px 14px}
 .case-door-place{font-size:12px;line-height:1.35;min-height:2.7em}
 body:is(.w-lantern,.w-dino) main .case-door h2{font-size:clamp(17px,4.4vw,24px)!important;white-space:nowrap}
 .case-door-info p{display:none}
 .case-door-action{min-height:44px;width:100%;gap:4px;margin-top:10px;padding:8px 4px;font-size:12px;white-space:nowrap}
 .cases-all-link{gap:4px 16px;margin-top:4px;font-size:13px}.cases-category-head{padding-top:28px}
 .case-world{padding-block:60px}.case-world-intro p{font-size:15px}.case-world-layout{gap:30px}.case-world-pin{width:44px;height:44px}.case-world-pin span{bottom:90%}.case-world-origin{font-size:11px}.case-world-links{gap:0 14px}
}
@media(prefers-reduced-motion:reduce){.case-door figure img{transition:none}}
/* 案例叙事：实拍场景、现场过程与资料分辨率各自清楚。 */
.cs-index-hero{position:relative;isolation:isolate;min-height:min(820px,calc(100svh - var(--top-h,76px)));display:flex;align-items:end;background:var(--night,#0b0b0d);color:#fff;overflow:hidden}
.cs-index-hero figure{position:absolute;inset:0;z-index:-2;margin:0}
.cs-index-hero figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.cs-index-hero figure figcaption{position:absolute;right:var(--gut,20px);bottom:16px;color:#fff;font-size:15px;line-height:1.5;text-shadow:0 1px 5px #000;z-index:1}
.cs-index-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.35) 48%,transparent 75%),linear-gradient(0deg,rgba(0,0,0,.83),transparent 45%);pointer-events:none}
.cs-index-heading{width:100%;padding:clamp(72px,8vw,120px) var(--gut,20px) clamp(60px,7vw,100px)}
.cs-index-heading .crumb{padding:0 0 18px!important}.cs-index-heading .crumb,.cs-index-heading .crumb a,.cs-index-heading .crumb span,.cs-index-heading .crumb i{color:#fff!important}
.cs-index-heading h1{max-width:12em;margin:0;color:#fff;font-size:clamp(42px,6.2vw,92px);line-height:1.14;text-wrap:balance}
.cs-index-heading p{max-width:34em;margin:24px 0;color:#fff;font-size:clamp(17px,1.5vw,20px);line-height:1.75;text-shadow:0 1px 8px #000}
.cs-index-heading .more{color:#fff;min-height:44px}
.cs-index-story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,6vw,96px);align-items:center;padding:clamp(72px,9vw,140px) var(--gut,20px);background:var(--night,#0b0b0d);color:#fff}
.cs-index-story h2{font-size:clamp(32px,4vw,62px);line-height:1.2;color:#fff;margin:0 0 22px}.cs-index-story p{max-width:31em;color:#eee;font-size:18px;line-height:1.8}
.cs-index-story a{display:block;color:#fff;text-decoration:none}.cs-index-story a img{display:block;width:100%;height:auto}.cs-index-story a span{display:block;font-size:15px;line-height:1.6;margin-top:10px;color:#eee}.cs-index-story a b{display:inline-block;font-size:clamp(19px,2vw,28px);margin-top:12px;border-bottom:2px solid var(--accent,#e8b654)}
.cs-index-story a:focus-visible,.cs-index-heading a:focus-visible{outline:3px solid var(--lamp,#c4161c);outline-offset:4px}
.cs-project-story{padding:clamp(36px,5vw,76px) 0 clamp(48px,6vw,84px);background:var(--night,#0b0b0d);color:#fff}
.cs-project-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,6vw,96px);align-items:end;padding:0 var(--gut,20px) clamp(32px,4vw,60px)}
.cs-project-head h2{margin:0;color:#fff;font-size:clamp(36px,4.5vw,68px);line-height:1.2}.cs-project-head p{max-width:34em;margin:0;color:#eee;font-size:clamp(17px,1.5vw,20px);line-height:1.8}
.cs-project-frames{display:grid}.cs-project-frames figure{margin:0;cursor:zoom-in}.cs-project-frames img{display:block;width:100%;height:auto}.cs-project-frames figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px var(--gut,20px) 24px;color:#eee;font-size:14px}.cs-project-frames figcaption b{font-size:clamp(18px,1.9vw,26px);color:#fff}.cs-project-frames figcaption span{text-align:right}
.cs-history-hero .cv-pic{width:100%;max-width:480px;justify-self:center}.cs-history-hero .cv-pic img{width:100%;height:auto;object-fit:contain}.cs-history-hero .cv-cap{max-width:480px;justify-self:center;width:100%}
.cs-gallery{padding:clamp(55px,8vw,120px) var(--gut,20px);background:var(--paper,#f2f1ef);color:var(--ink,#121212)}
.cs-gallery-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:25px;padding-bottom:clamp(30px,4vw,56px)}.cs-gallery-head h2{margin:0;font-size:clamp(32px,4vw,62px);line-height:1.2}.cs-gallery-head p{max-width:34em;margin:0;line-height:1.8}
body .cs-gallery-head .more.cs-gallery-next{display:inline-flex;align-items:center;min-height:44px;margin-top:12px}body .cs-gallery-head .cs-gallery-next:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.cs-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,60px)}.cs-gallery-grid figure{margin:0;cursor:zoom-in}.cs-gallery-grid img{display:block;width:100%;height:auto;object-fit:contain}.cs-gallery-grid figcaption{margin-top:10px;font-size:14px;line-height:1.6}.cs-gallery-wide{grid-column:1/-1}.cs-gallery-history img{max-width:480px}.cs-gallery-history figcaption{max-width:480px}
/* 案例清单是可筛选的项目索引，图片保留完整画面和文字说明。 */
.cf .cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3vw,42px)}
.cf .cases>.case,.cf .cases>.case:nth-child(n){display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);grid-template-rows:auto auto 1fr;align-content:start;gap:4px 20px;position:relative;grid-column:auto;aspect-ratio:auto;padding:0;background:transparent;color:inherit;box-shadow:none;border-radius:0;overflow:visible;text-decoration:none}
.cf .cases>.case .ph{position:relative;inset:auto;grid-column:1;grid-row:1/4;aspect-ratio:auto!important;margin:0;overflow:hidden}
.cf .cases>.case .ph img{display:block;width:100%;height:auto;object-fit:contain;transition:none}.cf .cases>.case .ph:before,.cf .cases>.case .ph:after{display:none}
.cf .cases>.case .meta{grid-column:2;margin:0;color:var(--accent,#c4161c);font-size:15px}.cf .cases>.case h3,.cf .cases>.case:nth-child(n) h3{grid-column:2;margin:0;color:var(--ink,#121212);font-size:clamp(19px,1.8vw,25px)!important;text-shadow:none;line-height:1.3}.cf .cases>.case p{display:block;grid-column:2;max-height:none;opacity:1;margin:3px 0 0;color:var(--ink2,#3d3b37);font-size:16px;line-height:1.7;overflow:visible}
.cf .cases>.case:hover .ph img{transform:none}.cf .cases>.case:hover h3{color:var(--accent,#c4161c)}.cf .cases>.case:focus-visible{outline:3px solid var(--accent,#c4161c);outline-offset:5px}
@media(max-width:800px){.cs-index-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0}.cs-index-hero figure{position:relative;inset:auto;z-index:auto}.cs-index-hero figure img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:46% 50%}.cs-index-hero figure figcaption{bottom:12px}.cs-index-hero:after{display:none}.cs-index-heading{padding:32px var(--gut,20px) 64px}.cs-index-heading h1{font-size:clamp(36px,9.5vw,62px)}.cs-index-story,.cs-project-head,.cs-gallery-head{grid-template-columns:minmax(0,1fr)}.cs-index-story{padding-block:72px}.cs-project-head{gap:20px}.cs-project-frames img{aspect-ratio:5/4;object-fit:cover;object-position:46% 50%}.cs-gallery-grid{gap:28px}.cf .cases{grid-template-columns:1fr}}
@media(max-width:520px){.cs-gallery-grid{grid-template-columns:1fr}.cs-gallery-wide{grid-column:auto}.cf .cases>.case,.cf .cases>.case:nth-child(n){grid-template-columns:minmax(0,100px) minmax(0,1fr);gap:4px 14px}.cf .cases>.case h3,.cf .cases>.case:nth-child(n) h3{font-size:20px!important}.cf .cases>.case p{font-size:16px;line-height:1.7}.cs-project-head h2{font-size:clamp(32px,9vw,44px)}}
@media(prefers-reduced-motion:reduce){.cs-index-hero img,.cs-project-frames img{transition:none!important;animation:none!important}}
.cf .cases>.case[hidden]{display:none!important}
/* 首屏图注始终可见，放在图片边缘，避免手机端被旧样式隐藏或盖住标题。 */
.cv-hero:not(.full).cs-text-hero{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr)}
.cv-hero:not(.full).cs-text-hero .cv-head{max-width:1100px}
.cs-text-note{align-self:end;padding-bottom:12px}.cs-text-note p{font-size:clamp(17px,1.5vw,20px);line-height:1.7;margin:0 0 12px}.cs-text-note a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:900px){.cv-hero:not(.full).cs-text-hero{grid-template-columns:minmax(0,1fr)}.cs-text-note{padding-bottom:0}}
.cv-hero .cv-cap{display:block}
.cv-hero.full .cv-cap{top:16px;bottom:auto;z-index:2;padding:4px 8px;max-width:calc(100% - 40px);color:#fff;background:rgba(0,0,0,.76);text-shadow:0 1px 3px #000}
/* 高清案例首屏始终先显示照片与标题；点灯画布只作轻度叠加，避免加载时黑屏或突然压黑。 */
html.oa-lit .cv-hero.full .cv-pic img,html.oa-lit .cv-hero.full .cv-pic.lit-on img{opacity:1;animation:none!important}
.cv-hero.full .cv-pic .lit-cv.on{opacity:.28}
.cv-hero.full .cv-head h1 .ch{opacity:1!important}
/* 摘要是主要内容，不随滚动隐藏；点灯仍用于照片。 */
.cv-state .ch{opacity:1!important}
.cs-scope-note{margin:18px 0 0;font-size:16px;line-height:1.7;color:var(--ink2,#ddd)}
.cs-index-story .cs-flow-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;color:#fff;text-decoration:underline;text-underline-offset:5px}

/* 同一灯组的安装与亮灯：在夜色中错开画面，让两张实拍自然浮现。 */
.cs-project-frames{max-width:1480px;margin:auto;padding-inline:var(--gut,20px);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:clamp(24px,4vw,60px)}
.cs-project-frames figure:nth-child(2){margin-top:clamp(60px,10vw,150px)}
.cs-project-frames figure{transition:transform 280ms cubic-bezier(.22,1,.36,1);box-shadow:0 24px 48px rgba(0,0,0,.3)}
.cs-project-frames figure:hover,.cs-project-frames figure:focus-visible{transform:translateY(-7px)}
.cs-project-frames figure:focus-visible{outline:3px solid var(--accent,#f0bd58);outline-offset:5px}
.cs-project-frames figcaption{padding:14px 8px 20px}
@media(max-width:800px){
 .cs-project-frames{grid-template-columns:minmax(0,1fr);gap:32px}
 .cs-project-frames figure:nth-child(2){margin-top:0}
 .cs-project-frames img{aspect-ratio:auto;object-fit:contain}
 .cs-project-frames figure:hover,.cs-project-frames figure:focus-visible{transform:none}
}
@media(prefers-reduced-motion:reduce){.cs-project-frames figure{transition:none}.cs-project-frames figure:hover,.cs-project-frames figure:focus-visible{transform:none}}

/* 案例总览：将已登记高清实拍作为场景入口，其他历史资料维持限宽。 */
body.inner-page .cf .cases>a.case,body.inner-page .cf .cases>a.case:hover{background:none!important;border:0!important;box-shadow:none!important}
body.inner-page .cf .cases>a.case .ph{border-radius:0;box-shadow:none;background:transparent;filter:none!important}
body.inner-page .cf .cases>a.case:hover .ph img{transform:none}
.cf .cases{gap:clamp(36px,5vw,72px) clamp(28px,4vw,60px)}
.cf .cases>a.case:is([href="/cases/russia-food-festival-lanterns-2026.html"],[href="/cases/hawaii-christmas-lights-2026.html"]){display:flex;flex-direction:column;justify-content:flex-start;gap:0;align-items:flex-start}
.cf .cases>a.case:is([href="/cases/russia-food-festival-lanterns-2026.html"],[href="/cases/hawaii-christmas-lights-2026.html"]) .ph{width:100%;overflow:hidden;grid-row:auto}
.cf .cases>a.case:is([href="/cases/russia-food-festival-lanterns-2026.html"],[href="/cases/hawaii-christmas-lights-2026.html"]) .ph img{width:100%;height:auto;box-shadow:0 26px 50px rgba(0,0,0,.32)}
.cf .cases>a.case:is([href="/cases/russia-food-festival-lanterns-2026.html"],[href="/cases/hawaii-christmas-lights-2026.html"]) .meta{margin:20px 0 8px}
body.inner-page .cf .cases>a.case:is([href="/cases/russia-food-festival-lanterns-2026.html"],[href="/cases/hawaii-christmas-lights-2026.html"]) h3{font-size:clamp(25px,2.6vw,39px)!important;line-height:1.3;margin:0}
.cf .cases>a.case:is([href="/cases/russia-food-festival-lanterns-2026.html"],[href="/cases/hawaii-christmas-lights-2026.html"]) p{max-width:36em;margin-top:10px;font-size:16px;line-height:1.75}
@media(min-width:901px){
 .cs-index-story>a:not(.cs-flow-link){position:relative;transform:perspective(1600px) rotateY(-3deg);transform-origin:center;transition:transform 280ms cubic-bezier(.22,1,.36,1)}
 .cs-index-story>a:not(.cs-flow-link):is(:hover,:focus-visible){transform:perspective(1600px) rotateY(0deg) translateY(-6px)}
 .cs-index-story>a:not(.cs-flow-link) img{box-shadow:0 32px 64px rgba(0,0,0,.38)}
 .cf .cases>a.case:is([href="/cases/russia-food-festival-lanterns-2026.html"],[href="/cases/hawaii-christmas-lights-2026.html"]) .ph{transition:transform 280ms cubic-bezier(.22,1,.36,1)}
 .cf .cases>a.case:is([href="/cases/russia-food-festival-lanterns-2026.html"],[href="/cases/hawaii-christmas-lights-2026.html"]):is(:hover,:focus-visible) .ph{transform:translateY(-6px)}
 .cs-gallery-grid{align-items:start}
 .cs-gallery-grid .cs-gallery-history:nth-child(even){margin-top:clamp(36px,5vw,70px)}
 .cs-gallery-grid .cs-gallery-wide{max-width:1280px;width:100%;justify-self:center}
 .cs-gallery-grid figure img{box-shadow:0 24px 48px rgba(0,0,0,.24)}
}
@media(max-width:800px){
 .cs-index-hero figure img{aspect-ratio:auto;object-fit:contain}
 .cf .cases>a.case:is([href="/cases/russia-food-festival-lanterns-2026.html"],[href="/cases/hawaii-christmas-lights-2026.html"]) .ph{overflow:hidden}
 .cf .cases>a.case:is([href="/cases/russia-food-festival-lanterns-2026.html"],[href="/cases/hawaii-christmas-lights-2026.html"]) .meta{margin-top:16px}
}
@media(prefers-reduced-motion:reduce){
 .cs-index-story>a:not(.cs-flow-link),.cs-index-story>a:not(.cs-flow-link):is(:hover,:focus-visible),.cf .cases>a.case .ph{transform:none!important;transition:none!important}
}

/* 828 的原始资料为 2160px 宽，仍按完整画幅展示，不沿用小图的 480px 限宽。 */
.cs-history-hero.cs-828-hero .cv-pic,.cs-history-hero.cs-828-hero .cv-cap{max-width:960px}

/* 窄屏先完整展示案例照片，再连接图注与标题，避免竖屏裁掉主体。 */
@media(max-width:900px){
 .cv-hero.full{display:flex;flex-direction:column;align-items:stretch;min-height:0}
 .cv-hero.full .cv-pic{position:relative;inset:auto;z-index:auto;width:100%;margin:0;order:0}
 .cv-hero.full .cv-pic img{width:100%;height:auto;object-fit:contain}
 .cv-hero.full::after{display:none}
 .cv-hero.full .cv-head{order:2;padding:24px var(--gut) 42px}
 .cv-hero.full .cv-cap{order:1;position:static;max-width:none;padding:10px var(--gut) 0;color:var(--night-dim,#ddd);background:transparent;text-shadow:none}
}

/* 无可公开展示影像的案例：文字入口保留完整信息与焦点，不用其他项目图片占位。 */
.cf .cases>.case[data-case-text],.cf .cases>.case[data-case-text]:nth-child(n){display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr}
.cf .cases>.case[data-case-text] :is(.meta,h3,p){grid-column:1}

/* 案例详情的下一步入口，覆盖主题层对 .more 的 32px 最小高度。 */
@media (max-width: 900px) {
  body:is(.w-lantern,.w-dino) .cv-links > a.more,
  body:is(.w-lantern,.w-dino) .cs-text-note > a.more,
  body:is(.w-lantern,.w-dino) .cv-hero ~ section.sec > .sh > a.more {
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 44px;
  }
  body:is(.w-lantern,.w-dino) .cv-links > a.more:focus-visible,
  body:is(.w-lantern,.w-dino) .cs-text-note > a.more:focus-visible,
  body:is(.w-lantern,.w-dino) .cv-hero ~ section.sec > .sh > a.more:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 3px;
  }
}

 
