/* Project details: a single editorial grid, independent of archive card rules. */
body.case-page{background:#fbfbf9;background-image:none;color:#142d3b}
.case-page .case-main{padding-bottom:20px}
.case-container{width:calc(100% - 96px);max-width:1200px;margin:auto}
.case-crumb{display:flex;gap:12px;align-items:center;padding:30px 0 24px;font-size:13px;color:#6b777b}
.case-crumb a:hover{color:#9b763b}
.case-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:44px;align-items:start;padding:16px 0 30px}
.case-page .case-kicker{font-family:'Source Sans 3',sans-serif;font-size:11px;letter-spacing:2px;font-weight:600;color:#9a7b48;margin:0 0 16px}
.case-page .case-main h1{font-family:'Noto Sans SC',sans-serif;font-size:clamp(32px,3.6vw,48px);font-weight:700;line-height:1.35;letter-spacing:-.6px;text-wrap:wrap;color:#142d3b;margin:0 0 24px}
.case-page .case-main h2{font-family:'Noto Sans SC',sans-serif;font-size:clamp(28px,2.8vw,38px);font-weight:700;line-height:1.45;text-wrap:wrap;color:#142d3b;margin:0 0 20px}
.case-page .case-main h3{font-family:'Noto Sans SC',sans-serif;font-size:20px;line-height:1.5;font-weight:700;text-wrap:wrap;margin:0 0 12px;color:#142d3b}
.case-page .case-main p{font-size:16px;line-height:1.95;color:#596b73;margin:0 0 16px;overflow-wrap:anywhere}
.case-page .case-main .case-summary{font-size:17px;margin:0;max-width:37em}
.case-cover{margin:0;min-width:0}
.case-cover img{width:100%;height:300px;object-fit:cover}
.case-cover.product-cover img{object-fit:contain;background:#fff}
.case-page .case-main figcaption{font-size:12px;color:#7e8689;margin-top:9px;line-height:1.6}
.case-meta{display:grid;grid-template-columns:.8fr 1fr 1.4fr;gap:24px;background:#f1f2ee;padding:22px 28px;margin:0 0 26px}
.case-meta dt{font-size:11px;letter-spacing:1px;color:#7d8081;margin:0 0 6px}
.case-meta dd{margin:0;font-size:15px;font-weight:500;line-height:1.6}
.case-nav{position:sticky;top:12px;z-index:20;display:flex;align-items:center;gap:20px;padding:12px 20px;margin:0 0 24px;background:#edf0ef;box-shadow:0 8px 24px rgba(20,45,59,.04);font-size:14px;font-weight:600}
.case-nav-label{flex-shrink:0;font-size:12px;color:#68777c;letter-spacing:.4px}
.case-nav-links{display:flex;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#b6beba transparent}
.case-nav a{display:flex;align-items:center;gap:9px;flex-shrink:0;padding:12px 18px;border-radius:4px;white-space:nowrap;color:#142d3b;line-height:1.6;transition:background .15s,color .15s}
.case-nav a:hover{background:#e0e5e3}
.case-nav-number{font-family:'Source Sans 3',sans-serif;font-size:12px;color:#9a7b48}
.case-nav a[aria-current=location]{background:#142d3b;color:#fff}
.case-nav a[aria-current=location] .case-nav-number{color:#d5bb83}
.case-nav a:focus-visible,.product-tabs button:focus-visible{outline:2px solid #9a7b48;outline-offset:3px}
.case-section{margin:0;padding:58px 0;scroll-margin-top:110px}
.case-context{background:transparent;padding:32px 0 48px;margin:0}
.case-context>p{max-width:66em}
.context-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:28px}
.context-points article{min-width:0}
.case-page .context-points h3{font-size:20px}
.context-points article{background:#f0f2ef;padding:26px}
.case-page .context-points p{font-size:14px;margin-bottom:0}
.case-work{display:grid;gap:26px}
.case-work article{display:grid;grid-template-columns:32px 1fr;gap:18px;max-width:860px}
.work-number{color:#a18a62;font-size:15px;line-height:1.8;font-weight:600}
.case-work-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;align-items:start}
.case-work-layout figure{margin:0}
.case-work-layout img{width:100%;max-height:380px;object-fit:contain;object-position:left top;background:none}
.case-page .case-work p{margin:0}
.case-progress{background:#edf1f1;padding:32px 36px;margin:24px 0}
.case-page .case-progress p:last-child{margin-bottom:0}
.case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;margin-top:26px}
.case-gallery figure{margin:0;min-width:0}
.case-gallery .gallery-open{display:block;background:transparent}
.case-gallery img{width:100%;height:260px;object-fit:contain;transition:transform .2s}
.case-gallery a:hover img{transform:scale(1.025)}
.product-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:28px;margin:30px 0 24px;padding:3px 2px;scrollbar-width:thin}
.product-tabs button{flex-shrink:0;position:relative;background:transparent;border:0;padding:12px 0 16px;font-size:16px;cursor:pointer;color:#68777c;font-weight:500;white-space:nowrap}
.product-tabs button[aria-selected=true]{background:transparent;color:#142d3b;font-weight:700}
.product-tabs button[aria-selected=true]::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(100deg,#9a763d,#cfb57b,#a7854b)}
.product-panel{display:grid;grid-template-columns:1fr 1.12fr;gap:48px;padding:32px;background:#f0f2ef}
.product-panel[hidden]{display:none}
.product-definition small{color:#9a7b48;font-size:12px;letter-spacing:1px}
.formula{font-size:clamp(23px,2.2vw,29px);font-weight:700;color:#142d3b;line-height:1.5;margin:10px 0 18px}
.case-page .product-panel p{font-size:15px}
.case-page .product-panel h3{font-size:20px}
.source-link{font-size:12px;color:#8a6b3e;text-decoration:underline;text-underline-offset:4px}
.energy-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0 20px}
.energy-chain>div{position:relative;padding-right:28px}
.energy-chain>div:not(:last-child)::after{content:'→';position:absolute;right:0;top:0;color:#a18a62}
.energy-chain strong{font-size:15px;font-weight:500}
.case-page .energy-chain p{font-size:13px;margin:5px 0 0}
.case-page .case-note{font-size:12px;color:#7a8488;line-height:1.8;margin-bottom:5px}
.case-next{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:start}
.case-page .case-next h2{font-size:25px}
.case-next .button{margin-top:8px;font-size:14px;padding:12px 20px;background:#142d3b;color:#fff}
.case-related{display:flex;flex-direction:column;gap:20px;font-size:14px;padding-top:10px}
.photo-dialog{position:fixed;inset:0;width:94vw;height:92vh;max-width:none;max-height:none;margin:auto;padding:48px 54px;background:#fbfbf9;border:0;color:#142d3b}
.photo-dialog::backdrop{background:rgba(10,25,34,.85)}
.photo-dialog>img{height:calc(100% - 30px);width:100%;object-fit:contain}
.photo-dialog button{position:absolute;background:#fbfbf9;border:0;font-size:34px;width:42px;height:42px;line-height:1;cursor:pointer;color:#142d3b}
.photo-close{right:10px;top:10px}.photo-prev{left:5px;top:48%}.photo-next{right:5px;top:48%}.photo-count{text-align:center;margin:6px 0;font-size:14px}
@media(min-width:1500px){.case-container{max-width:1280px}.case-cover img{height:330px}}
@media(max-width:900px){.case-container{width:calc(100% - 48px)}.case-hero{gap:28px}.case-cover img{height:260px}.case-meta{padding:20px}.case-context{padding:32px 0}.product-panel{gap:26px;padding:24px}.case-work-layout{grid-template-columns:1.3fr 1fr;gap:24px}.case-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.case-gallery img{height:240px}.case-nav{gap:18px}}
@media(max-width:620px){.case-container{width:calc(100% - 40px)}.case-crumb{padding-top:20px;font-size:12px}.case-hero{grid-template-columns:1fr;gap:24px;padding-top:8px}.case-page .case-main h1{font-size:30px}.case-cover img{height:230px}.case-meta{grid-template-columns:1fr;gap:14px;padding:20px}.case-meta>div{display:grid;grid-template-columns:80px 1fr;gap:10px}.case-meta dt,.case-meta dd{margin:0}.case-nav{top:8px;display:block;padding:12px;margin-bottom:12px;font-size:13px}.case-nav-label{display:block;margin:0 4px 8px}.case-nav-links{gap:4px}.case-nav a{padding:10px 12px}.case-section{scroll-margin-top:132px}.case-section{padding:30px 0}.case-context{padding:24px 0;margin:0}.context-points{grid-template-columns:1fr;gap:20px}.product-panel{grid-template-columns:1fr;padding:22px;gap:20px}.product-tabs{gap:24px}.product-tabs button{font-size:14px;padding:10px 0 14px}.energy-chain{grid-template-columns:1fr;gap:20px}.energy-chain>div:not(:last-child)::after{content:'↓';top:30px}.case-work-layout{grid-template-columns:1fr}.case-work-layout img{max-height:300px}.case-gallery{gap:22px 16px}.case-gallery img{height:190px}.case-progress{padding:24px;margin:14px 0}.case-next{grid-template-columns:1fr;gap:22px}.case-page .case-main p{font-size:15px}.case-page .case-main .case-summary{font-size:16px}.photo-dialog{padding:46px 36px}.photo-dialog button{width:32px}.case-page .case-main h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.case-gallery img{transition:none}}
