/* NEXT atelier portfolio: independent pages, never a homepage showcase. */
.works-page{--work-ink:#202520;--work-muted:#575c51;--blue:#aa9265;background:#f5f2eb;color:var(--work-ink)}
.works-page main{padding-bottom:0}
.works-intro{padding:64px 0 48px;background:#20231e;color:#f1ede5}
.works-kicker{display:block;font-size:.875rem;letter-spacing:.12em;color:#b9aa8d;margin-bottom:24px}
.works-page h1,.works-page h2{font-family:'Songti TC','Noto Serif TC',serif;font-weight:400;letter-spacing:.015em;line-height:1.3}
.works-page h1{margin:0;font-size:clamp(36px,4vw,58px);color:inherit;max-width:900px}
.works-intro p{max-width:630px;font-size:1rem;line-height:1.9;color:#cecfc3;margin-top:20px}
.works-intro-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:end}
.works-intro-note{border-left:1px solid #55594c;padding-left:32px}
.works-intro-note p{margin:0}
.work-sections{display:flex;gap:28px;flex-wrap:wrap;margin-top:26px}
.work-sections a{min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid #8f917d;color:#eee8da;font-size:.875rem}
.works-group{padding:64px 0 0;scroll-margin-top:110px}
.works-heading{display:flex;justify-content:space-between;align-items:baseline;gap:32px;padding-bottom:28px;border-bottom:1px solid #cbc7bc}
.works-page h2{margin:0;font-size:clamp(26px,3vw,38px)}
.works-heading p{margin:0;color:var(--work-muted);font-size:1rem;max-width:470px;line-height:1.8}
.work-grid{display:grid}
.work-card{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:52px;align-items:center;min-width:0;padding:40px 0;border-bottom:1px solid #d3cec2}
.work-image-link{display:block;background:#e7e3d8;border:1px solid #d3cec3;overflow:hidden}
.work-image-link img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;object-position:center}
.work-number{font-size:.875rem;color:#737866;letter-spacing:.14em;margin-bottom:24px}
.work-meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:#59614f;font-size:.875rem;line-height:1.8;margin:16px 0 10px}
.work-card h3{font-size:clamp(21px,2vw,28px);line-height:1.5;margin:0 0 12px;color:inherit;font-weight:500}
.work-card p{font-size:1rem;color:var(--work-muted);line-height:1.9;margin:14px 0 20px}
.work-stage{display:block;font-size:.875rem;color:#707563;margin:20px 0 10px}
.works-page a:focus-visible{outline:3px solid #ad986b;outline-offset:5px}
.work-read{display:inline-flex;min-height:44px;align-items:center;border-bottom:1px solid currentColor;font-size:1rem;color:inherit;text-decoration:none}
.works-boundary{margin:42px 0 0;padding:24px 0;line-height:1.9;font-size:.875rem;color:var(--work-muted);max-width:900px}
.works-next{margin-top:56px;background:#272923;color:#f1ede5;padding:60px 0 74px}
.works-next p{color:#d2d0c0;max-width:680px;font-size:1rem;line-height:1.9;margin:18px 0 28px}
.works-next h2{color:inherit}
.works-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.works-intro .btn,.works-next .btn{background:#f1ede5;color:#252a22;border-color:#f1ede5}
.works-intro .btn:hover,.works-next .btn:hover{background:#fffdf8;color:#202520}
.work-back{display:inline-flex;min-height:44px;align-items:center;margin-bottom:28px;color:#cbc6b4;text-decoration:underline;text-underline-offset:5px;font-size:.875rem}
.case-hero{padding:28px 0 0}
.case-hero h1{font-size:clamp(32px,4vw,54px)}
.case-hero .work-meta{color:#bbb69f;margin:0 0 18px}
.case-hero h1 small{display:block;font-family:Arial,'Noto Sans TC',sans-serif;font-size:1rem;line-height:1.7;letter-spacing:.03em;margin-bottom:16px}
.case-hero .works-actions{margin-top:28px}
.case-capture{margin:44px 0 0}
.case-capture img{display:block;width:100%;height:auto;border:1px solid #595c50;background:#e6e1d5}
.case-capture figcaption{font-size:.875rem;color:#b9bcb0;line-height:1.8;padding:16px 0 24px}
.case-story{padding:28px 0 0}
.case-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;padding:34px 0;border-bottom:1px solid #d4cebf}
.case-row h2{font-size:1.375rem;line-height:1.7}
.case-row p,.case-row li{font-size:1rem;line-height:1.95;color:var(--work-muted)}
.case-row p+p{margin-top:16px}
.case-row ul{padding-left:20px;margin-bottom:24px}
.case-row li{margin-bottom:8px}
.case-mobile{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:80px;align-items:center;padding:56px 0;border-bottom:1px solid #d4cebf}
.case-mobile .works-kicker{color:#666b55}
.case-mobile img{display:block;width:100%;height:auto;border:1px solid #c9c4b7}
.case-mobile p{color:var(--work-muted);font-size:1rem;line-height:1.9;margin:16px 0;max-width:500px}
.case-receipt{padding:18px 0;margin:14px 0;border-block:1px solid #a7ad95;font-size:1rem;line-height:1.8;color:#414f36}
.case-receipt a{display:inline-flex;min-height:44px;align-items:center;margin-left:12px;text-decoration:underline}
.case-receipt[hidden]{display:none}
@media(max-width:1100px){.desktop-nav{gap:15px}.desktop-nav a{font-size:.875rem}.work-card{gap:30px}.works-intro-layout{gap:40px}}
@media(max-width:760px){
.works-page .shell{width:calc(100% - 40px);padding-inline:0}
.works-intro{padding:38px 0 32px}
.works-intro-layout{grid-template-columns:1fr;gap:24px}
.works-intro-note{border-left:0;padding-left:0}
.works-kicker{margin-bottom:18px}
.works-heading{display:block;padding-bottom:22px}
.works-heading p{margin-top:14px}
.works-group{padding-top:36px}
.work-card{grid-template-columns:1fr;gap:22px;padding:28px 0}
.work-number{margin-bottom:10px}
.work-meta{margin:12px 0 8px}
.work-card p{margin-bottom:8px}
.work-stage{margin-top:12px}
.case-row{grid-template-columns:1fr;gap:12px;padding:26px 0}
.case-mobile{grid-template-columns:1fr;gap:24px;padding:36px 0}
.case-mobile img{max-width:280px;margin:auto}
.works-next{margin-top:32px;padding:40px 0 100px}
.works-actions{gap:14px}
.works-actions .btn{width:100%;justify-content:center}
.works-page h1{overflow-wrap:anywhere}
.case-receipt a{display:flex;margin-left:0}
.case-hero{padding:18px 0 0}
.case-capture{margin-top:30px}
.work-back{margin-bottom:16px}
}
@media(prefers-reduced-motion:reduce){.works-page *{scroll-behavior:auto!important;transition:none!important}}
