/* Shared project case studies: a readable editorial hierarchy inside both entries. */
.project-case{--case-line:#34302b;--case-accent:#ef695a;--case-ink:#f2eee7;--case-muted:#b7b0a6;color:var(--case-ink);font-family:"Noto Sans SC","Microsoft YaHei",sans-serif}
.project-reader__body{max-width:1240px}
.project-title-part{display:inline-block;max-width:100%}
.project-reader__body>h1{font-size:clamp(36px,5.4vw,72px);max-width:1000px;line-height:1.22;text-wrap:balance}
.project-reader__body>#projectReaderLead{font-size:clamp(18px,2vw,24px);line-height:1.85;color:#e0d8cd;max-width:38em}
.project-page .project-detail{max-width:1100px}
.project-page .project-detail>.project-kicker{font:11px/1.8 "Space Mono","Noto Sans SC",monospace;letter-spacing:.07em}
.case-featured-label{display:inline-flex;font:500 12px/1.5 "Noto Sans SC",sans-serif!important;color:var(--case-accent)!important;border:1px solid #6f382f;padding:8px 12px;margin:32px 0 0!important;letter-spacing:.05em}
.case-facts{display:grid;grid-template-columns:1fr 1fr 1.8fr;gap:24px;padding:24px 0;border-top:1px solid var(--case-line);border-bottom:1px solid var(--case-line);margin:30px 0}
.case-facts dt{font-size:11px;color:#9f9588;margin-bottom:9px}
.case-facts dd{margin:0;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.case-overview{display:grid;grid-template-columns:minmax(180px,.75fr) 2fr;gap:38px;align-items:center;margin:32px 0 42px}
.case-overview figure{margin:0;min-width:0}
.case-overview img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#eee9df}
.project-case .case-metrics,.project-page .project-case .case-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 26px;margin:0}
.project-case .case-metric{padding-top:12px;border-top:1px solid #55463c;min-width:0}
.project-case .case-metric strong,.project-page .project-case .case-metric strong{font-family:Syne,"Noto Sans SC",sans-serif;font-size:clamp(26px,3vw,39px);font-weight:600;line-height:1.35;letter-spacing:-.03em;white-space:normal;overflow-wrap:anywhere;margin-top:5px}
.project-case .case-metric__label,.project-page .project-case .case-metric__label{display:block;font-size:12px;line-height:1.8;color:var(--case-muted);margin-top:7px}
.case-metric small{display:block;color:#a3998b;font-size:11px;line-height:1.7;margin-top:6px}
.project-case .case-status,.project-page .project-case .case-status{display:inline-block;font-size:10px;font-weight:500;line-height:1.55;padding:3px 7px;margin:0;width:fit-content;color:#c7d7c5;background:#202820;border:1px solid #42513f;letter-spacing:.03em}
.project-case .case-status.is-planned{color:#e3bd85;border-color:#745d3e;background:#2c2418}
.case-nav{display:flex;flex-wrap:wrap;gap:10px 28px;border-block:1px solid var(--case-line);padding:14px 0;margin:0 0 52px}
.case-nav a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--case-ink);font-size:13px;text-decoration:none}
.case-nav a span{font:10px/1.5 "Space Mono",monospace;color:var(--case-accent)}
.case-nav a:hover{color:var(--case-accent)}
.case-nav a:focus-visible{outline:2px solid var(--case-accent);outline-offset:5px}
.case-section{display:grid;grid-template-columns:155px minmax(0,1fr);gap:38px;padding:0 0 48px;margin:0 0 48px;border-bottom:1px solid var(--case-line);scroll-margin-top:105px}
.case-section__head>span{font:11px "Space Mono",monospace;color:var(--case-accent);display:block;margin:0 0 13px}
.project-case .case-section h2,.project-page .project-case .case-section h2{font:500 22px/1.6 "Noto Sans SC",sans-serif;letter-spacing:-.025em;margin:0;text-wrap:balance}
.project-case .case-section h3,.project-page .project-case .case-section h3{font:500 19px/1.65 "Noto Sans SC",sans-serif;letter-spacing:-.01em;color:var(--case-ink);margin:0 0 12px}
.project-case .case-section p,.project-case .case-section li,.project-page .project-case .case-section p,.project-page .project-case .case-section li{font-size:16px;line-height:1.95;color:#c9c1b7;overflow-wrap:anywhere}
.project-case .case-section p{margin:0 0 16px;max-width:46em}
.project-case .case-section p:last-child{margin-bottom:0}
.case-approach,.case-timeline{list-style:none;padding:0!important;margin:0}
.case-approach>li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:20px 0;border-bottom:1px solid #282521}
.case-approach>li:first-child{padding-top:0}
.case-approach>li:last-child{border:0;padding-bottom:0}
.case-approach__number{color:#a77a6c;font:11px/2.8 "Space Mono",monospace}
.case-timeline__item{position:relative;display:grid;grid-template-columns:116px minmax(0,1fr);gap:28px;padding:0 0 36px 20px;border-left:1px solid #4b3b32}
.case-timeline__item::before{content:"";position:absolute;left:-4px;top:9px;width:7px;height:7px;border-radius:50%;background:var(--case-accent)}
.case-timeline__item:last-child{padding-bottom:0}
.case-timeline__date{font-size:12px;line-height:1.8;color:#f0cbb8;padding-top:1px}
.project-case .case-timeline__date .case-status{display:table;margin-top:9px!important}
.case-timeline__content ul{padding-left:18px;margin:12px 0 0}
.case-timeline__content li{margin:8px 0}
.case-timeline__item.is-planned::before{background:#d4a45f}
.case-timeline__item.is-planned{border-color:#6a5436}
.case-governance{background:#181512;border-left:3px solid var(--case-accent);padding:25px 28px;margin-top:28px}
.case-governance ol{padding-left:23px;margin:14px 0 0}
.case-governance li{padding-left:5px;margin:8px 0;color:#e4d9cc!important}
.case-process{list-style:none;padding:0!important;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.case-process li{font-size:12px!important;line-height:1.7!important;border:1px solid #655044;padding:8px 12px;color:#e9cec0!important}
.case-process li:not(:last-child)::after{content:" →";margin-left:9px;color:var(--case-accent)}
.project-case .case-takeaway blockquote{margin:0;padding:0 0 0 23px;border-left:3px solid var(--case-accent);background:none}
.project-case .case-takeaway blockquote p{font-size:19px!important;color:#f0e5d8!important;line-height:1.9!important}
.project-case--featured .case-section__head>span{color:#ff8270}
.project-page .project-contact,.project-page .project-pagination{max-width:906px;margin-inline:auto}
.work.is-featured{outline:1px solid #a95344;outline-offset:-1px}
.case-card-label{display:block;color:#e9a697;font-size:10px;letter-spacing:.08em;margin-bottom:10px}
.project-card.is-featured{border-color:#a95344}
.project-page .project-card .case-card-label{color:#e9a697}
.project-reader__close{min-width:44px;min-height:44px}
.project-case .case-metrics[data-metric-count="1"],.project-page .project-case .case-metrics[data-metric-count="1"]{grid-template-columns:1fr}
@media(max-width:900px){.case-section{grid-template-columns:125px minmax(0,1fr);gap:24px}.case-timeline__item{grid-template-columns:1fr;gap:13px}.case-timeline__date{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.case-timeline__date .case-status{margin-top:0!important}.case-overview{gap:25px;grid-template-columns:.85fr 2fr}}
@media(max-width:600px){.case-facts{grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.case-facts>div:last-child{grid-column:1/-1}.case-facts dd{font-size:13px}.case-overview{grid-template-columns:1fr;gap:25px;margin:26px 0 32px}.case-overview figure{max-width:220px}.project-case .case-metrics{gap:20px 18px!important}.project-case .case-metric strong,.project-page .project-case .case-metric strong{font-size:27px}.case-nav{gap:5px 20px;margin-bottom:35px}.case-nav a{font-size:12px;min-height:44px}.case-section{display:block;margin-bottom:34px;padding-bottom:34px}.case-section__head{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}.case-section__head>span{margin:0}.project-case .case-section h2,.project-page .project-case .case-section h2{font-size:21px}.project-case .case-section h3,.project-page .project-case .case-section h3{font-size:18px}.project-case .case-section p,.project-case .case-section li{font-size:16px!important;line-height:1.9!important}.case-governance{padding:20px}.project-case .case-takeaway blockquote{padding-left:17px}.project-case .case-takeaway blockquote p{font-size:18px!important}.case-featured-label{margin-top:20px!important}}
@media(prefers-reduced-motion:reduce){.case-nav{scroll-behavior:auto}}
