/* Cothink Projects archive — white editorial case ledger: restrained ink, vivid project media, no ornamental arrows. */
.projects-ledger{padding:156px 32px 0;background:var(--paper)}.projects-ledger-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:64px;align-items:end;padding-bottom:98px;border-bottom:1px solid var(--ink)}.projects-ledger-kicker,.case-ledger-kicker{margin:0;color:var(--stone);font:11px/1.2 var(--mono);letter-spacing:.035em}.projects-ledger h1{max-width:10ch;margin:42px 0 0;font:clamp(76px,10.2vw,164px)/.78 var(--display);letter-spacing:-.08em}.projects-ledger h1 span{color:var(--stone)}.projects-ledger-intro{align-self:end;max-width:35ch;margin:0 0 8px;font-size:18px;line-height:1.42}.projects-ledger-count{display:block;margin-top:22px;color:var(--graphite);font:11px var(--mono);letter-spacing:.03em}.case-ledger{padding:0 32px}.case-ledger-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;padding:28px 0 116px;border-bottom:1px solid var(--hairline)}.case-ledger-number{padding-top:4px;color:var(--stone);font:11px var(--mono)}.case-ledger-main{min-width:0}.case-ledger-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);gap:42px;align-items:end;margin:0 0 27px}.case-ledger-category{margin:0 0 10px;color:var(--graphite);font:11px var(--mono);letter-spacing:.035em}.case-ledger-title{margin:0;font:clamp(49px,6.5vw,104px)/.8 var(--display);letter-spacing:-.075em}.case-ledger-title span{color:var(--stone)}.case-ledger-summary{max-width:32ch;margin:0;font-size:17px;line-height:1.4}.case-ledger-image{position:relative;min-height:clamp(360px,55vw,730px);margin:0;overflow:hidden;background:var(--fog)}.case-ledger-image img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.01);transition:transform .9s var(--ease-in-out)}.case-ledger-item:hover .case-ledger-image img{transform:scale(1.055)}.case-ledger-image figcaption{position:absolute;right:17px;bottom:15px;left:17px;display:flex;justify-content:space-between;gap:18px;color:rgba(255,255,255,.88);font:10px var(--mono);letter-spacing:.02em;text-shadow:0 1px 10px rgba(0,0,0,.38)}.case-ledger-detail{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;padding:25px 0 0}.case-ledger-detail>div{min-height:115px;padding-top:11px;border-top:1px solid var(--ink)}.case-ledger-detail h3{margin:0 0 17px;color:var(--graphite);font:10px var(--mono);font-weight:400;letter-spacing:.035em}.case-ledger-detail p{max-width:31ch;margin:0;font-size:15px;line-height:1.4}.case-ledger-stack{grid-column:2/-1;display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;padding-top:11px;border-top:1px solid var(--ink)}.case-ledger-stack span{padding:5px 7px;border:1px solid var(--hairline);font:10px var(--mono);letter-spacing:.02em}.case-ledger-link{display:inline-block;margin-top:27px;padding-bottom:4px;border-bottom:1px solid var(--ink);font:11px var(--mono);letter-spacing:.025em}.case-ledger-link:hover,.case-ledger-link:focus-visible{color:var(--brand-blue);border-color:var(--brand-blue)}.projects-ledger-close{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:0 -32px;padding:78px 32px 84px;background:var(--ink);color:var(--paper)}.projects-ledger-close h2{max-width:11ch;margin:0;font:clamp(54px,7.5vw,118px)/.8 var(--display);letter-spacing:-.075em}.projects-ledger-close p{align-self:end;max-width:31ch;margin:0;font-size:17px;line-height:1.4}.project-case-detail{padding:156px 32px 110px}.project-case-detail-top{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:start;padding-bottom:26px;border-bottom:1px solid var(--ink)}.project-case-detail-back{font:11px var(--mono);letter-spacing:.025em}.project-case-detail-back:hover,.project-case-detail-back:focus-visible{color:var(--brand-blue)}.project-case-detail-index{color:var(--stone);font:11px var(--mono)}.project-case-detail h1{max-width:11ch;margin:108px 0 64px;font:clamp(76px,12.5vw,188px)/.76 var(--display);letter-spacing:-.085em}.project-case-detail-hero{position:relative;min-height:clamp(420px,64vw,780px);margin:0;overflow:hidden;background:var(--fog)}.project-case-detail-hero img{display:block;width:100%;height:100%;object-fit:cover}.project-case-detail-caption{display:grid;grid-template-columns:1.35fr .65fr;gap:40px;padding:34px 0 88px;border-bottom:1px solid var(--ink)}.project-case-detail-caption h2{max-width:13ch;margin:0;font:clamp(47px,5.6vw,88px)/.84 var(--display);letter-spacing:-.07em}.project-case-detail-caption h2 span{color:var(--stone)}.project-case-detail-caption p{align-self:end;max-width:32ch;margin:0;font-size:18px;line-height:1.42}.project-case-detail-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:40px;padding:31px 0 96px}.project-case-detail-grid h3{margin:0 0 17px;color:var(--graphite);font:11px var(--mono);font-weight:400;letter-spacing:.04em}.project-case-detail-grid p{max-width:58ch;margin:0;font-size:18px;line-height:1.48}.project-case-detail-grid aside{display:grid;gap:30px;align-content:start}.project-case-detail-grid aside div{padding-top:12px;border-top:1px solid var(--ink)}.project-case-detail-grid aside p{font-size:15px;line-height:1.4}.project-case-detail-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 0 96px}.project-case-detail-module{min-height:200px;padding:18px;border-top:1px solid var(--ink);background:var(--fog)}.project-case-detail-module h3{margin:0 0 62px;color:var(--graphite);font:10px var(--mono);font-weight:400;letter-spacing:.03em}.project-case-detail-module p{max-width:21ch;margin:0;font-size:16px;line-height:1.36}.project-case-detail-next{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding-top:28px;border-top:1px solid var(--ink)}.project-case-detail-next span{color:var(--stone);font:11px var(--mono)}.project-case-detail-next a{max-width:10ch;font:clamp(45px,6vw,90px)/.78 var(--display);letter-spacing:-.075em}.project-case-detail-next a:hover,.project-case-detail-next a:focus-visible{color:var(--brand-blue)}
@media(max-width:760px){.projects-ledger{padding:126px 20px 0}.projects-ledger-head{grid-template-columns:1fr;gap:50px;padding-bottom:63px}.projects-ledger h1{margin-top:33px;font-size:clamp(63px,17vw,88px)}.projects-ledger-intro{max-width:30ch;font-size:16px}.case-ledger{padding:0 20px}.case-ledger-item{grid-template-columns:1fr;gap:17px;padding:20px 0 66px}.case-ledger-number{padding-top:0}.case-ledger-intro{grid-template-columns:1fr;gap:27px;margin-bottom:19px}.case-ledger-title{font-size:clamp(48px,14vw,70px)}.case-ledger-summary{font-size:16px}.case-ledger-image{min-height:265px}.case-ledger-image figcaption{display:grid;gap:5px;right:12px;bottom:12px;left:12px;font-size:8px}.case-ledger-detail{grid-template-columns:1fr;gap:18px;padding-top:20px}.case-ledger-detail>div{min-height:auto}.case-ledger-detail p{font-size:14px}.case-ledger-stack{grid-column:auto}.case-ledger-link{margin-top:21px}.projects-ledger-close{grid-template-columns:1fr;gap:28px;margin:0 -20px;padding:60px 20px 65px}.projects-ledger-close h2{font-size:clamp(52px,15vw,76px)}.projects-ledger-close p{font-size:16px}.project-case-detail{padding:126px 20px 70px}.project-case-detail h1{margin:72px 0 44px;font-size:clamp(70px,18vw,97px)}.project-case-detail-hero{min-height:278px}.project-case-detail-caption{grid-template-columns:1fr;gap:28px;padding:25px 0 62px}.project-case-detail-caption h2{font-size:clamp(45px,13.5vw,66px)}.project-case-detail-caption p{font-size:16px}.project-case-detail-grid{grid-template-columns:1fr;gap:45px;padding:25px 0 65px}.project-case-detail-grid p{font-size:16px}.project-case-detail-grid aside{gap:22px}.project-case-detail-modules{grid-template-columns:1fr;gap:10px;padding-bottom:65px}.project-case-detail-module{min-height:150px}.project-case-detail-module h3{margin-bottom:43px}.project-case-detail-next{display:grid;gap:20px}.project-case-detail-next a{font-size:clamp(45px,13vw,67px)}}
@media(prefers-reduced-motion:reduce){.case-ledger-image img{transition:none!important}}
/* Projects index amendment — the index is a borderless two-column image field; full project narrative belongs only on the detail route. */
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:92px 12px;padding:74px 0 140px}.project-gallery-item{display:block;min-width:0}.project-gallery-item:nth-child(even){margin-top:146px}.project-gallery-image{position:relative;aspect-ratio:1.18;overflow:hidden;margin:0;background:var(--fog)}.project-gallery-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-in-out)}.project-gallery-item:hover .project-gallery-image img,.project-gallery-item:focus-visible .project-gallery-image img{transform:scale(1.055)}.project-gallery-caption{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:baseline;padding:14px 0 0}.project-gallery-caption span,.project-gallery-caption i{color:var(--stone);font:10px var(--mono);font-style:normal;letter-spacing:.025em}.project-gallery-caption strong{font-size:clamp(28px,2.6vw,44px);font-weight:500;line-height:.92;letter-spacing:-.06em}.project-gallery-caption em{grid-column:2/-1;margin-top:-4px;color:var(--graphite);font:10px var(--mono);font-style:normal;letter-spacing:.025em}.project-gallery-item>p{max-width:36ch;margin:13px 0 0 59px;font-size:15px;line-height:1.38}.project-gallery-item:hover strong,.project-gallery-item:focus-visible strong{color:var(--brand-blue)}
@media(max-width:760px){.project-gallery{grid-template-columns:1fr;gap:61px;padding:52px 0 82px}.project-gallery-item:nth-child(even){margin-top:0}.project-gallery-image{aspect-ratio:1.1}.project-gallery-caption{grid-template-columns:38px minmax(0,1fr) auto;gap:8px;padding-top:11px}.project-gallery-caption strong{font-size:31px}.project-gallery-item>p{margin:11px 0 0 46px;font-size:14px}.project-gallery-caption em{font-size:9px}}
/* Mobile proof list — replace three heavy equal cards with one continuous reading rhythm. */
@media(max-width:760px){.project-case-detail-modules{display:block;margin-top:3px;padding:0 0 58px;border-top:1px solid var(--ink)}.project-case-detail-module{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;min-height:0;padding:24px 0 27px;border-top:0;border-bottom:1px solid var(--hairline);background:transparent}.project-case-detail-module h3{margin:0;color:var(--graphite);font:10px/1.35 var(--mono);letter-spacing:.02em}.project-case-detail-module p{max-width:none;margin:0;font-size:15px;line-height:1.55}.project-case-detail-module:last-child{border-bottom:0}}
