/* Detailed portfolio stories. Theme colours and fonts remain shared with the site. */
.gc-case {padding: clamp(4rem, 7vw, 12rem) 0 0; color: var(--t-bright);}
.gc-case-shell {width: min(168rem, 91%); margin-inline:auto;}
.gc-case a {color:inherit;}
.gc-case-topline {display:flex; justify-content:space-between; align-items:center; gap:2rem; margin-bottom:clamp(4rem,7vw,11rem);}
.gc-case-back {display:inline-flex;align-items:center;gap:1rem;font-size:1.6rem;line-height:1.5;}
.gc-case-back:hover {text-decoration:underline;text-underline-offset:.35em;}
.gc-case-label,.gc-case-facts dt,.gc-case-number {font-size:1.3rem;letter-spacing:.075em;text-transform:uppercase;line-height:1.6;color:var(--t-muted);font-weight:500;}
.gc-case-intro {display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:end;}
.gc-case h1 {font-size:clamp(5.6rem,9.5vw,16rem);line-height:.96;letter-spacing:-.065em;font-weight:500;overflow-wrap:break-word;}
.gc-case-lead {font-size:clamp(2.3rem,2.45vw,4rem);line-height:1.3;letter-spacing:-.025em;max-width:24ch;padding-bottom:.4rem;}
.gc-case-facts {margin:5rem 0 0;padding:2.8rem 0;border-top:1px solid var(--st-muted);display:grid;grid-template-columns:1fr 1.25fr 2fr 1fr;gap:3rem;}
.gc-case-facts dd {margin:1rem 0 0;font-size:1.6rem;line-height:1.6;max-width:42ch;}
.gc-case-cover {margin-top:4rem;}
.gc-case-cover>a {display:block;position:relative;border-radius:2.4rem;overflow:hidden;}
.gc-case-cover img {width:100%;height:auto;display:block;}
.gc-case figcaption {margin:1.4rem 0 0;color:var(--t-muted);font-size:1.3rem;line-height:1.6;max-width:80ch;}
.gc-case-contents {display:grid;grid-template-columns:1fr 3fr;gap:4rem;padding-top:4rem;padding-bottom:5rem;margin-top:4rem;border-bottom:1px solid var(--st-muted);}
.gc-case-contents ol {display:grid;grid-template-columns:1fr 1fr;column-gap:4rem;row-gap:1.5rem;list-style:none;padding:0;margin:0;}
.gc-case-contents a {display:inline-flex;gap:1.5rem;font-size:1.5rem;line-height:1.5;}
.gc-case-contents a span {color:var(--t-muted);font-size:1.2rem;padding-top:.15rem;}
.gc-case-contents a:hover {text-decoration:underline;text-underline-offset:.3em;}
.gc-case-section,.gc-case-delivered {padding-top:clamp(7rem,9vw,15rem);scroll-margin-top:12rem;}
.gc-case-section__text {display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start;}
.gc-case-section__heading {max-width:55rem;}
.gc-case-number {display:block;margin-bottom:2rem;}
.gc-case h2 {font-size:clamp(3.4rem,4.2vw,6.8rem);font-weight:500;line-height:1.08;letter-spacing:-.045em;}
.gc-case-copy {max-width:65rem;padding-top:3.9rem;}
.gc-case-copy>p {font-size:clamp(1.7rem,1.32vw,2.1rem);line-height:1.65;margin-bottom:2.2rem;color:var(--t-medium);}
.gc-case-copy>p:first-child {color:var(--t-bright);}
.gc-case-gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem 3rem;margin-top:5rem;align-items:start;}
.gc-case-gallery--single {grid-template-columns:1fr;max-width:112rem;margin-inline:auto;}
.gc-case-gallery--single .gc-case-figure {width:100%;}
.gc-case-gallery--wide-last .gc-case-figure:last-child {grid-column:1/-1;}
.gc-case-figure {margin:0;min-width:0;}
.gc-case-image {display:block;position:relative;border-radius:1.8rem;overflow:hidden;background:#fff;cursor:zoom-in;}
.gc-case-image img {display:block;width:100%;height:auto;}
.gc-case-image__zoom {display:flex;align-items:center;justify-content:center;position:absolute;right:1.6rem;bottom:1.6rem;width:4.4rem;height:4.4rem;background:#fff;color:#171717;border-radius:50%;font-size:2rem;opacity:0;transform:translateY(.6rem);transition:opacity .2s,transform .2s;box-shadow:0 0 0 1px #0002;}
.gc-case-image:hover .gc-case-image__zoom,.gc-case-image:focus-visible .gc-case-image__zoom,.gc-case-cover a:hover .gc-case-image__zoom {opacity:1;transform:none;}
.gc-case-summary {font-size:clamp(2.2rem,2vw,3rem)!important;line-height:1.45!important;letter-spacing:-.02em;}
.gc-case-deliverables {list-style:none;padding:0;margin:2rem 0 0;}
.gc-case-deliverables li {padding:1.3rem 0;border-bottom:1px solid var(--st-muted);font-size:1.7rem;line-height:1.45;}
.gc-case-quote {padding-top:10rem;padding-bottom:4rem;max-width:110rem;}
.gc-case-quote figure {margin-top:3rem;}
.gc-case-quote blockquote {font-size:clamp(2.4rem,2.7vw,4rem);line-height:1.4;letter-spacing:-.025em;}
.gc-case-quote figcaption {font-size:1.6rem;margin-top:2.5rem;color:var(--t-bright);}
.gc-case-quote figcaption span {display:block;font-size:1.4rem;color:var(--t-muted);}
.gc-case-next {display:flex;align-items:end;justify-content:space-between;gap:4rem;margin-top:10rem;padding:5rem 0 8rem;border-top:1px solid var(--st-muted);}
.gc-case-next>div>a {display:flex;align-items:center;gap:3rem;margin-top:1rem;font-size:clamp(4rem,6vw,9rem);letter-spacing:-.045em;line-height:1.15;}
.gc-case-next>div>a i {font-size:.65em;}
.gc-case-lightbox {position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;margin:0;border:0;background:#111;color:#fff;overscroll-behavior:contain;}
.gc-case-lightbox[open] {display:grid;grid-template-rows:auto minmax(0,1fr) auto;}
.gc-case-lightbox::backdrop {background:#111;}
.gc-case-lightbox__toolbar,.gc-case-lightbox__footer {display:flex;align-items:center;gap:2rem;padding:1.5rem 3rem;font-size:1.4rem;min-height:7rem;}
.gc-case-lightbox__counter {margin-right:auto;}
.gc-case-lightbox button {border:1px solid #ffffff50;background:transparent;color:white;border-radius:5rem;padding:1rem 1.6rem;font:inherit;cursor:pointer;line-height:1;}
.gc-case-lightbox button:hover {background:#ffffff15;}
.gc-case-lightbox__stage {display:flex;align-items:center;justify-content:center;overflow:auto;padding:1.2rem;overscroll-behavior:contain;}
.gc-case-lightbox__stage img {display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;flex:none;}
.gc-case-lightbox.is-zoomed .gc-case-lightbox__stage {display:block;}
.gc-case-lightbox.is-zoomed .gc-case-lightbox__stage img {max-width:none;max-height:none;width:max(100%,1200px);height:auto;margin:auto;}
.gc-case-lightbox__caption {flex:1;max-width:90ch;margin:auto;text-align:center;line-height:1.5;}
.gc-case-lightbox-open {overflow:hidden!important;}
.gc-project-filter {display:flex;flex-wrap:wrap;gap:1rem 3rem;margin:0 0 3rem;padding:0 3rem;}
.gc-project-filter button {padding:.6rem 0;border:0;border-bottom:2px solid transparent;color:var(--t-muted);background:transparent;font:inherit;font-size:1.7rem;cursor:pointer;}
.gc-project-filter button[aria-pressed="true"] {color:var(--t-bright);border-bottom-color:currentColor;}
.mxd-projects-list__item[hidden] {display:none!important;}
.gc-project-filter__status {padding:0 3rem;font-size:1.4rem;color:var(--t-muted);}
@media(max-width:1000px) {
 .gc-case-intro {gap:5%;}.gc-case-facts {grid-template-columns:1fr 1fr;}.gc-case-contents {grid-template-columns:1fr;gap:2rem;}
 .gc-case-section__text {gap:5%;}.gc-case-gallery {gap:3rem 2rem;}.gc-case-copy {padding-top:3.4rem;}
}
@media(max-width:760px) {
 .gc-case {padding-top:4rem;}.gc-case-topline {margin-bottom:5rem;}.gc-case-topline>.gc-case-label {display:none;}
 .gc-case-intro {grid-template-columns:1fr;gap:3rem;}.gc-case-lead {max-width:30ch;font-size:2.4rem;}.gc-case h1 {font-size:clamp(5.8rem,15vw,10rem);}
 .gc-case-facts {margin-top:3.5rem;gap:2rem 1.5rem;}.gc-case-facts dd {font-size:1.4rem;}.gc-case-facts>div:nth-child(3) {grid-column:1/-1;}
 .gc-case-cover {margin-top:1.5rem;}.gc-case-cover>a {border-radius:1.4rem;}.gc-case-cover img {min-height:0;}
 .gc-case-contents {margin-top:2.5rem;padding:2.5rem 0 3rem;}.gc-case-contents ol {grid-template-columns:1fr;gap:1.2rem;}
 .gc-case-section__text {grid-template-columns:1fr;gap:2.5rem;}.gc-case-copy {padding-top:0;max-width:none;}.gc-case-number {margin-bottom:1.3rem;}
 .gc-case-gallery {grid-template-columns:1fr;margin-top:2.5rem;gap:3rem;}.gc-case-image {border-radius:1.2rem;}.gc-case-image__zoom {opacity:1;transform:none;width:3.6rem;height:3.6rem;right:1rem;bottom:1rem;}
 .gc-case-next {display:block;margin-top:7rem;padding-bottom:5rem;}.gc-case-next>.gc-case-back {margin-top:3rem;}
 .gc-case-quote {padding-top:6rem;}.gc-case-lightbox__toolbar,.gc-case-lightbox__footer {padding:1.2rem;gap:1rem;font-size:1.2rem;}.gc-case-lightbox__caption {font-size:1.1rem;}
 .gc-project-filter {padding-inline:1.5rem;gap:1rem 2rem;}.gc-project-filter button {font-size:1.5rem;}
}
@media(prefers-reduced-motion:reduce) {.gc-case-image__zoom {transition:none;}}
