/* Single case study (single-portfolio-case.php). Card styles come from the Cases Grid and Card Grid block styles. */
.case-hero{background:var(--color-bg-dark);color:var(--color-text-white-primary);overflow:hidden;padding:9rem 0 11rem;position:relative}
.case-hero:before{background:radial-gradient(circle,rgba(26,102,255,.45) 0,rgba(26,102,255,0) 65%);content:"";height:40rem;position:absolute;right:-12rem;top:-16rem;width:40rem}
.case-hero .container{position:relative}
.case-hero__crumbs,.case-hero__crumbs a{color:var(--color-text-white-tertiary);font-size:.875rem}
.case-hero__crumbs a:hover{color:var(--color-text-white-primary)}
.case-hero__tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:2rem 0 1.25rem;padding:0}
.case-hero__tags li{background:var(--color-border-white-08);border:1px solid var(--color-border-white-12);border-radius:6.25rem;font-size:.8125rem;font-weight:500;padding:.25rem .75rem}
.case-hero__title{font-size:4rem;font-weight:600;letter-spacing:-.12rem;line-height:4.5rem;margin:0;max-width:52rem}
.case-hero__lead{color:var(--color-text-white-secondary);font-size:1.25rem;line-height:1.875rem;margin:1.5rem 0 0;max-width:44rem}
.case-hero__facts{border-top:1px solid var(--color-border-white-12);display:flex;flex-wrap:wrap;gap:1.5rem 3rem;margin:3rem 0 0;padding-top:1.75rem}
.case-hero__facts dt{color:var(--color-text-white-tertiary);font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase}
.case-hero__facts dd{font-size:1rem;font-weight:500;margin:.375rem 0 0}
.case-hero__facts a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.case-cover{margin-top:-7.5rem;position:relative;z-index:1}
.case-cover__img{aspect-ratio:16/9;border-radius:2rem;box-shadow:0 2rem 4rem rgba(8,8,20,.25);display:block;height:auto;object-fit:cover;width:100%}
.case-section-title{font-size:2rem;font-weight:600;letter-spacing:-.06rem;line-height:2.5rem;margin:0 0 2rem}
.case-results{margin-block:6rem}
.case-results__list{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin:0}
.case-results__item{background:var(--color-bg-secondary);border-radius:1.25rem;padding:1.75rem}
.case-results__item dt{color:var(--color-accent);font-size:2.75rem;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.08rem;line-height:3rem}
.case-results__item dd{color:var(--color-text-gray-1);font-size:1rem;margin:.5rem 0 0}
.case-content{margin-block:4rem}
.case-content__inner{margin:0 auto;max-width:48rem}
.case-content__inner h2{font-size:2rem;font-weight:600;letter-spacing:-.06rem;line-height:2.5rem;margin:3rem 0 1rem}
.case-content__inner h3{font-size:1.375rem;font-weight:600;line-height:1.875rem;margin:2rem 0 .75rem}
.case-content__inner p,.case-content__inner li{color:var(--color-text-gray-1);font-size:1.125rem;line-height:1.75rem}
.case-content__inner ul{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:1rem 0;padding-left:0}
.case-content__inner strong{color:var(--color-text-primary)}
.case-gallery{margin-block:5rem}
.case-gallery__grid{display:grid;gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.case-gallery__item{margin:0}
.case-gallery__item:first-child:nth-last-child(odd){grid-column:1/-1}
.case-gallery__item img{border-radius:1.5rem;display:block;height:auto;width:100%}
.case-quote{margin-block:5rem}
.case-quote__box{background:var(--color-bg-dark);border-radius:2rem;color:var(--color-text-white-primary);margin:0 auto;max-width:56rem;padding:3.5rem}
.case-quote__box p{font-size:1.625rem;font-weight:500;letter-spacing:-.03rem;line-height:2.375rem;margin:0}
.case-quote__box p:before{color:var(--color-accent);content:"\201C";display:block;font-size:4rem;line-height:1;margin-bottom:.5rem}
.case-quote__box footer{color:var(--color-text-white-secondary);font-size:1rem;margin-top:1.5rem}
.case-quote__box footer strong{color:var(--color-text-white-primary)}
.case-services{margin-block:5rem}
.case-services__list{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));list-style:none;margin:0;padding:0}
.case-services__list li{display:flex}
.case-more{background:var(--color-bg-secondary);padding-block:6rem}
.case-more__head{align-items:baseline;display:flex;justify-content:space-between}
.case-more__all{color:var(--color-accent);font-weight:600}
.case-more .cases-grid__list{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1023.98px){.case-hero{padding:7rem 0 8rem}.case-hero__title{font-size:2.75rem;line-height:3.25rem}.case-cover{margin-top:-5rem}.case-more .cases-grid__list{grid-template-columns:1fr 1fr}}
@media (max-width:639.98px){.case-hero__title{font-size:2.125rem;line-height:2.625rem}.case-hero__lead{font-size:1.0625rem}.case-cover__img{border-radius:1.25rem}.case-gallery__grid,.case-more .cases-grid__list{grid-template-columns:1fr}.case-quote__box{padding:2rem}.case-quote__box p{font-size:1.25rem;line-height:1.875rem}}
/* v1.7: 12-section case structure */
.case-hero__client{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin:2rem 0 1.25rem}
.case-hero__logo{align-items:center;background:#fff;border-radius:.75rem;display:inline-flex;height:2.75rem;justify-content:center;padding:.375rem .75rem}
.case-hero__logo img{height:100%;max-width:8rem;object-fit:contain;width:auto}
.case-hero__name{font-size:1rem;font-weight:600;margin-right:.25rem}
.case-hero__tag{background:var(--color-border-white-08);border:1px solid var(--color-border-white-12);border-radius:6.25rem;font-size:.8125rem;font-weight:500;padding:.25rem .75rem}
.case-hero__kpis{border-top:1px solid var(--color-border-white-12);display:grid;gap:1.5rem 3rem;grid-template-columns:repeat(3,minmax(0,max-content));margin:3rem 0 0;padding-top:1.75rem}
.case-hero__kpis dt{color:var(--color-text-white-primary);font-size:2.5rem;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.08rem;line-height:2.75rem}
.case-hero__kpis dd{color:var(--color-text-white-tertiary);font-size:.9375rem;margin:.375rem 0 0;max-width:14rem}
.case-hero__actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-top:2.5rem}
.case-hero__site{color:var(--color-text-white-secondary);font-weight:500;text-decoration:underline;text-underline-offset:.25em}
.case-hero__site:hover{color:var(--color-text-white-primary)}
.case-section-title--sm{font-size:1.5rem;letter-spacing:-.03rem;line-height:2rem;margin:3rem 0 1rem}
.case-summary{margin-block:6rem 2rem}
.case-summary__grid{align-items:start;display:grid;gap:3rem;grid-template-columns:minmax(0,1fr) 22rem}
.case-tldr{counter-reset:tldr;display:flex;flex-direction:column;gap:1rem;list-style:none;margin:0;padding:0}
.case-tldr__item{background:var(--color-bg-secondary);border-left:3px solid var(--color-border-primary,#d9dbe3);border-radius:0 1rem 1rem 0;padding:1.25rem 1.5rem}
.case-tldr__item--result{border-left-color:var(--color-accent)}
.case-tldr__label{color:var(--color-text-gray-1);display:block;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.case-tldr__item p{color:var(--color-text-primary);font-size:1.125rem;line-height:1.75rem;margin:.375rem 0 0}
.case-about{color:var(--color-text-gray-1);font-size:1.125rem;line-height:1.75rem;margin:0}
.case-card-facts{background:var(--color-bg-secondary);border-radius:1.5rem;padding:1.75rem;position:sticky;top:6.5rem}
.case-card-facts dl{display:flex;flex-direction:column;margin:0}
.case-card-facts dl>div{border-bottom:1px solid var(--color-border-primary,#e3e5ec);padding:.75rem 0}
.case-card-facts dl>div:first-child{padding-top:0}
.case-card-facts dl>div:last-child{border-bottom:0;padding-bottom:0}
.case-card-facts dt{color:var(--color-text-gray-1);font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase}
.case-card-facts dd{color:var(--color-text-primary);font-size:1rem;font-weight:500;line-height:1.5rem;margin:.25rem 0 0}
.case-why{margin-block:3rem}
.case-why__box{background:linear-gradient(135deg,rgba(26,102,255,.08),rgba(26,102,255,.02));border:1px solid rgba(26,102,255,.18);border-radius:1.5rem;margin:0 auto;max-width:48rem;padding:2rem 2.25rem}
.case-why__label{color:var(--color-accent);display:block;font-size:.8125rem;font-weight:600;letter-spacing:.04em;margin-bottom:.5rem;text-transform:uppercase}
.case-why__box p{color:var(--color-text-primary);font-size:1.1875rem;line-height:1.875rem;margin:0}
.case-hard{margin-block:6rem}
.case-hard__list{counter-reset:hard;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}
.case-hard__item{border:1px solid var(--color-border-primary,#e3e5ec);border-radius:1.25rem;counter-increment:hard;padding:1.75rem}
.case-hard__item:before{color:var(--color-accent);content:counter(hard,decimal-leading-zero);display:block;font-size:.875rem;font-weight:600;margin-bottom:1rem}
.case-hard__item h3{font-size:1.25rem;font-weight:600;line-height:1.75rem;margin:0 0 .5rem}
.case-hard__item p{color:var(--color-text-gray-1);font-size:1rem;line-height:1.625rem;margin:0}
.case-timeline{margin-block:6rem}
.case-timeline__list{display:grid;gap:0;list-style:none;margin:0;padding:0}
.case-timeline__list li{border-left:2px solid var(--color-border-primary,#e3e5ec);display:grid;gap:.25rem 2rem;grid-template-columns:10rem minmax(0,1fr);padding:0 0 2rem 2rem;position:relative}
.case-timeline__list li:before{background:var(--color-accent);border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--color-accent);content:"";height:1rem;left:-.5625rem;position:absolute;top:.25rem;width:1rem}
.case-timeline__list li:last-child{border-left-color:transparent;padding-bottom:0}
.case-timeline__time{color:var(--color-accent);font-size:.9375rem;font-weight:600;grid-row:span 2;line-height:1.5rem}
.case-timeline__list strong{font-size:1.125rem;line-height:1.5rem}
.case-timeline__list p{color:var(--color-text-gray-1);font-size:1rem;line-height:1.625rem;margin:0}
.case-ba{margin-top:2rem;overflow-x:auto}
.case-ba table{border-collapse:collapse;min-width:32rem;width:100%}
.case-ba th{color:var(--color-text-gray-1);font-size:.8125rem;font-weight:600;letter-spacing:.04em;padding:.75rem 1rem;text-align:left;text-transform:uppercase}
.case-ba td{border-top:1px solid var(--color-border-primary,#e3e5ec);font-size:1rem;padding:1rem;vertical-align:top}
.case-ba td:first-child{font-weight:600}
.case-ba__after{color:var(--color-accent);font-weight:600}
.case-ba__src{color:var(--color-text-gray-1);display:block;font-size:.8125rem;font-weight:400;margin-top:.25rem}
.case-quote__box footer{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}
.case-quote__photo img{border-radius:50%;display:block;height:3.5rem;object-fit:cover;width:3.5rem}
.case-quote__link{color:var(--color-text-white-secondary);font-size:.9375rem;margin-left:auto;text-decoration:underline;text-underline-offset:.25em}
.case-after{margin-block:5rem}
.case-after__grid{display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}
.case-after__grid .case-section-title--sm{margin-top:0}
.case-after__grid p{color:var(--color-text-gray-1);font-size:1.125rem;line-height:1.75rem;margin:0}
.case-stack{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.case-stack li{background:var(--color-bg-secondary);border-radius:6.25rem;font-size:.9375rem;font-weight:500;padding:.5rem 1rem}
.case-stack li:before{display:none}
.case-cta{margin-block:6rem}
.case-cta__box{background:var(--color-bg-dark);border-radius:2rem;color:var(--color-text-white-primary);overflow:hidden;padding:4rem;position:relative;text-align:center}
.case-cta__box:before{background:radial-gradient(circle,rgba(26,102,255,.45) 0,rgba(26,102,255,0) 65%);content:"";height:32rem;left:50%;position:absolute;top:-18rem;transform:translateX(-50%);width:48rem}
.case-cta__box>*{position:relative}
.case-cta__box h2{font-size:2.5rem;font-weight:600;letter-spacing:-.08rem;line-height:3rem;margin:0}
.case-cta__box p{color:var(--color-text-white-secondary);font-size:1.125rem;line-height:1.75rem;margin:1rem auto 2rem;max-width:36rem}
@media (max-width:1023.98px){.case-summary__grid{grid-template-columns:1fr}.case-card-facts{position:static}.case-hero__kpis dt{font-size:2rem;line-height:2.25rem}}
@media (max-width:639.98px){.case-hero__kpis{grid-template-columns:1fr 1fr}.case-summary{margin-block:4rem 1rem}.case-timeline__list li{grid-template-columns:1fr;padding-left:1.5rem}.case-timeline__time{grid-row:auto}.case-why__box{padding:1.5rem}.case-cta__box{padding:2.5rem 1.5rem}.case-cta__box h2{font-size:1.75rem;line-height:2.25rem}.case-hard,.case-timeline,.case-results{margin-block:4rem}.case-quote__link{margin-left:0}}
.case-cta__box .button{display:inline-flex}
.case-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-gallery__item:first-child:nth-last-child(odd){grid-column:auto}
.case-gallery__item img{aspect-ratio:4/3;background:var(--color-bg-secondary);border:1px solid var(--color-border-default);object-fit:cover;object-position:50% 0}
@media (max-width:1023.98px){.case-gallery__grid{grid-template-columns:1fr 1fr}}
