/* Continuous editorial layout. Future story colours are kept in src/case-studies.json. */
.case-journal-hero{background:var(--deep);color:var(--paper);padding-block:52px 64px}
.case-journal-hero h1{font-size:clamp(3.6rem,7vw,7rem);line-height:1.03;font-weight:600;letter-spacing:-.06em}
.case-journal-hero em{color:var(--mint);font-style:normal}
.case-library{max-width:1480px;margin:auto;padding-block:12px 65px}
.case-editorial{padding-block:46px 58px;scroll-margin-top:24px}
.case-editorial+.case-editorial{border-top:1px solid var(--ink)}
.case-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:28px}
.case-client{font-family:'Manrope',sans-serif;font-size:1.35rem;font-weight:700;letter-spacing:-.035em}
.case-service{font-size:.85rem;color:var(--muted);text-align:right}
.case-spread{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:clamp(30px,6vw,85px);align-items:center}
.case-narrative h2{font-size:clamp(2.05rem,3.65vw,3.65rem);line-height:1.1;letter-spacing:-.05em;margin-bottom:25px;max-width:19ch}
.case-narrative>p{font-size:1rem;line-height:1.7;margin-top:17px;max-width:60ch}
.case-narrative>.case-insight{font-size:1.06rem;font-weight:600;line-height:1.55;border-left:4px solid var(--case-tone);padding-left:18px;margin-top:25px}
.case-proof{min-width:0;background:var(--case-tone);border:1.5px solid var(--ink);border-radius:8px;padding:32px;position:relative;margin-top:30px;box-shadow:0 5px 0 var(--ink)}
/* The tab masks only the short top-border segment beneath its opening. */
.case-folder-tab{position:absolute;left:24px;top:-31px;width:clamp(112px,34%,152px);height:33px;overflow:visible;pointer-events:none}
.case-folder-tab path{fill:var(--case-tone);stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.case-folder-tab .case-folder-seam{stroke:none}
.case-review{margin:0}
.case-review figcaption{display:flex;align-items:center;gap:23px;margin-bottom:26px}
.case-portrait{display:block;flex:none;object-fit:cover;object-position:50% 36%;width:116px;height:132px;border:5px solid var(--paper);border-radius:5px;transform:rotate(-4deg);box-shadow:0 3px 0 #102e2c20}
#story-certification .case-portrait{width:132px;height:156px;object-position:center 28%}
.case-review figcaption>span{display:flex;flex-direction:column;gap:7px;font-size:.85rem;line-height:1.45}
.case-review figcaption strong{font-size:1.06rem;font-weight:700}
.case-review blockquote{padding:0;margin:0;font-size:clamp(1.2rem,1.8vw,1.7rem);font-weight:500;line-height:1.48;letter-spacing:-.025em}
.case-client-logo{display:block;margin-top:28px;object-fit:contain;object-position:left center;width:auto;height:auto;max-width:190px;max-height:55px}
.case-client-logo[alt="Citizens Advice SORT"]{max-height:76px}
.case-editorial:nth-child(even) .case-narrative{grid-column:2;grid-row:1}
.case-editorial:nth-child(even) .case-proof{grid-column:1;grid-row:1}
.case-editorial:nth-child(even) .case-spread{grid-template-columns:minmax(0,1fr) minmax(0,1.16fr)}
.case-editorial:nth-child(even) .case-portrait{transform:rotate(4deg)}
.case-partnership h3{font-size:clamp(1.9rem,3vw,2.8rem);font-weight:600;line-height:1.15;max-width:15ch}
.case-partnership>p{font-size:1rem;line-height:1.65;margin-top:22px;max-width:36ch}
.case-todo{display:block;width:190px;height:190px;object-fit:contain;margin:12px 0 -37px auto;transform:rotate(5deg)}
.case-partnership .case-client-logo{max-width:145px;margin-top:0}
.case-journal-page .page-cta{background:#e8eee4;color:var(--ink)}
@media(max-width:900px){.case-spread,.case-editorial:nth-child(even) .case-spread{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.case-proof{padding:25px}.case-portrait,#story-certification .case-portrait{width:96px;height:115px}.case-review figcaption{gap:16px}.case-narrative h2{font-size:2.25rem}.case-review blockquote{font-size:1.25rem}}
@media(max-width:680px){.case-journal-hero{padding-block:37px 45px}.case-library{padding-block:0 20px}.case-editorial{padding-block:30px 38px}.case-heading{align-items:start;margin-bottom:22px;gap:18px}.case-client{font-size:1.13rem;max-width:55%}.case-service{font-size:.72rem;max-width:42%;padding-top:4px}.case-spread,.case-editorial:nth-child(even) .case-spread{grid-template-columns:1fr;gap:27px}.case-editorial:nth-child(even) .case-narrative,.case-editorial:nth-child(even) .case-proof{grid-column:auto;grid-row:auto}.case-narrative h2{font-size:clamp(2rem,8.3vw,2.8rem);max-width:22ch;margin-bottom:21px}.case-narrative>p{font-size:.97rem;margin-top:15px}.case-proof{padding:25px}.case-review blockquote{font-size:1.27rem}.case-review figcaption{gap:22px}.case-portrait,#story-certification .case-portrait{width:102px;height:124px}.case-review figcaption strong{font-size:1rem}.case-review figcaption>span{font-size:.8rem}.case-client-logo{max-width:170px;margin-top:23px}.case-todo{width:160px;height:160px;margin-bottom:-25px}.case-partnership h3{font-size:2.1rem}}
@media(prefers-reduced-motion:reduce){.case-journal-page{scroll-behavior:auto}}

/* The index navigates the continuous journal; it never hides its stories. */
.case-index{display:flex;gap:22px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);scroll-margin-top:24px;position:relative;z-index:4}
.case-index-label{font-size:.86rem;font-weight:600;white-space:nowrap}
.case-index-groups{display:flex;gap:12px;flex-wrap:wrap;align-items:start}
.case-service-menu{position:relative;min-width:0}
.case-service-menu summary{display:flex;align-items:center;gap:13px;list-style:none;border:1px solid var(--ink);border-radius:30px;padding:11px 17px;font-size:.88rem;font-weight:600;cursor:pointer;background:var(--paper);min-height:46px}
.case-service-menu summary::-webkit-details-marker{display:none}
.case-service-menu summary:hover,.case-service-menu[open] summary{background:var(--mint)}
.case-service-menu summary:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.case-count{font-size:.73rem;font-weight:500;display:grid;place-items:center;width:23px;height:23px;background:#102e2c0d;border-radius:50%}
.case-menu-toggle{font-size:1.3rem;font-weight:400;line-height:1}
.case-service-menu[open] .case-menu-toggle{transform:rotate(45deg)}
.case-service-menu ul{position:absolute;top:calc(100% + 9px);left:0;width:max-content;min-width:100%;max-width:min(340px,80vw);padding:7px;margin:0;list-style:none;background:var(--paper);border:1px solid var(--ink);border-radius:14px;box-shadow:0 5px 0 #102e2c15;max-height:45vh;overflow:auto}
.case-service-menu li+li{border-top:1px solid var(--line)}
.case-service-menu li a{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:12px 14px;border-radius:8px;font-size:.9rem;font-weight:500;min-height:46px}
.case-service-menu li a:hover{background:#e8eee4}
.case-service-menu li a:focus-visible{outline-offset:-3px}
.case-index-return{display:inline-flex;align-items:center;gap:11px;margin-top:27px;font-size:.8rem;text-decoration:underline;text-underline-offset:4px}
.case-index-return:hover{color:#466d23}
.case-heading{display:block}
.case-client{max-width:none}
@media(max-width:680px){.case-index{align-items:start;flex-direction:column;gap:12px;padding-block:22px}.case-index-groups{width:100%;gap:9px}.case-service-menu{max-width:100%}.case-service-menu summary{font-size:.8rem;padding:10px 13px;gap:9px}.case-service-menu ul{max-width:calc(88vw - 2px)}.case-client{max-width:none;line-height:1.45}.case-index-return{margin-top:23px}}
