.case-study-page{--surface: #fffaf2;--surface-warm: #fff2df;--text: #221713;--text-soft: #2d2d2d;--text-muted: #5a5a5a;--accent: #f45122;--accent-strong: #d83c14;--ink: #111111;--line: rgba(34, 23, 19, .18);min-height:100vh;background:radial-gradient(circle at 86% 7rem,color-mix(in srgb,var(--accent) 12%,transparent),transparent 24rem),var(--surface);color:var(--text);overflow-x:clip}.project-case{display:grid;gap:clamp(3rem,7vw,7rem);padding:clamp(7.4rem,13vw,10rem) clamp(1rem,3vw,3rem) clamp(4rem,8vw,7rem)}.project-hero-grid,.project-details-grid,.project-copy-grid,.project-media-grid{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));column-gap:clamp(.55rem,1.2vw,1rem)}.project-hero-title{grid-column:2/-2;display:grid;gap:clamp(.9rem,1.8vw,1.35rem)}.project-eyebrow{display:flex;flex-wrap:wrap;gap:.5rem}.project-eyebrow span{display:inline-flex;min-height:2rem;align-items:center;border:2px solid var(--accent);border-radius:999px;color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:.76rem;font-weight:500;line-height:1;padding:.4rem .62rem;text-transform:uppercase}.project-hero-title h1{max-width:100%;margin:clamp(1.4rem,4.5vw,4rem) 0 0;color:var(--accent);font-family:var(--title-font);font-size:clamp(3.2rem,9.5vw,9.2rem);font-weight:700;letter-spacing:0;line-height:.84;text-align:center}.project-client-line{margin:0;color:var(--text-muted);font-family:var(--alfondale-font);font-size:clamp(1.35rem,3.2vw,2.6rem);font-weight:400;line-height:1.05}.project-dek{max-width:820px;margin:0;color:var(--text-soft);font-size:clamp(1.05rem,1.8vw,1.45rem);font-weight:500;line-height:1.38}.project-hero-media{grid-column:1/-1;margin:clamp(2rem,5vw,4.6rem) 0 0}.media-frame,.project-hero-media img,.project-media-card img{display:block;width:100%;overflow:hidden;border-radius:30px;background:var(--ink)}.media-frame iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.project-hero-media img{aspect-ratio:16/9;height:auto;object-fit:cover}.project-media-card img{aspect-ratio:4/3;height:auto;object-fit:cover}.project-hero-media figcaption,.project-media-card figcaption{max-width:820px;margin:.82rem 0 0;color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.82rem;font-weight:500;line-height:1.45}.project-details-grid{border-top:2px solid var(--line);border-bottom:2px solid var(--line);padding:clamp(1.6rem,3vw,2.5rem) 0}.project-details-inner{grid-column:2/-2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1.2rem,2.2vw,2rem);font-family:IBM Plex Mono,monospace}.project-detail-group{display:grid;align-content:start;gap:.72rem}.project-detail-group h2{margin:0;color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:.76rem;font-weight:500;letter-spacing:.02em;line-height:1.1;text-transform:uppercase}.project-detail-group ul{display:grid;gap:.35rem;list-style:none;margin:0;padding:0}.project-detail-group li,.project-detail-group p{margin:0;color:var(--text-soft);font-size:clamp(.88rem,1.05vw,.98rem);font-weight:500;line-height:1.28}.project-detail-actions{gap:.68rem}.project-live-link{width:fit-content;margin-top:.45rem;color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:.98rem;font-weight:500;text-decoration-thickness:2px;text-underline-offset:.22em}.project-copy-block{grid-column:4/-4;display:grid;gap:clamp(.9rem,1.8vw,1.25rem);min-width:0}.project-copy-lead p:last-child{margin:0;color:var(--text-soft);font-size:clamp(1.55rem,3.05vw,2.35rem);font-weight:500;line-height:1.16}.section-kicker{margin:0;color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:.82rem;font-weight:500;text-transform:uppercase}.project-copy-block h2{max-width:820px;margin:0;color:var(--accent);font-family:var(--title-font);font-size:clamp(2.4rem,5.6vw,5.8rem);font-weight:700;letter-spacing:0;line-height:.9}.project-copy-block .project-section-body{max-width:820px;margin:0;color:var(--text-soft);font-size:clamp(1.1rem,1.8vw,1.45rem);font-weight:500;line-height:1.52}.project-section-carousel{margin-top:clamp(1rem,2vw,1.7rem)}.project-section-static-images{grid-column:2/-2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);margin-top:0}.project-section-carousel-stage{position:relative;overflow:visible}.project-section-carousel-stage:before{content:"";display:block;width:calc((100% - 1.5rem)/2);aspect-ratio:4/3;pointer-events:none}.project-section-image-card,.project-section-static-image-card{position:absolute;left:50%;top:0;z-index:1;width:calc((100% - 1.5rem)/2);margin:0;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .32s cubic-bezier(.16,1,.3,1);will-change:transform,opacity}.project-section-static-image-card{position:relative;left:auto;top:auto;width:100%;opacity:1;pointer-events:auto;transform:none}.project-section-image-card.is-visible{opacity:1}.project-section-image-card.is-active{z-index:2;pointer-events:auto}.project-section-image-card img,.project-section-image-card video,.project-section-static-image-card img,.project-section-static-image-card video,.project-section-image-placeholder{display:grid;width:100%;aspect-ratio:4/3;border-radius:30px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent 44%),color-mix(in srgb,var(--accent) 8%,var(--surface));place-items:center;object-fit:cover;overflow:hidden}.project-section-image-card video,.project-section-static-image-card video{display:block}.project-section-image-placeholder span{color:color-mix(in srgb,var(--accent) 68%,var(--surface));font-family:IBM Plex Mono,monospace;font-size:clamp(1.7rem,4vw,3.2rem);font-weight:500}.project-section-carousel-controls{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.9rem}.project-section-carousel-controls button{display:grid;width:44px;aspect-ratio:1;place-items:center;appearance:none;border:2px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent);cursor:pointer;font-size:1.2rem;font-weight:500;line-height:1}.project-section-carousel-controls p{margin:0;color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.82rem;font-weight:500}.project-artifact-carousel{grid-column:2/-2;margin-top:0}.project-artifact-carousel-stage{position:relative;min-height:clamp(420px,64vh,700px);overflow:visible}.project-artifact-card{position:absolute;left:50%;top:50%;z-index:1;display:block;width:max-content;max-width:min(600px,78vw);margin:0;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .36s cubic-bezier(.16,1,.3,1);will-change:transform,opacity}.project-artifact-card.is-visible{opacity:1}.project-artifact-card.is-active{z-index:2;pointer-events:auto}.project-artifact-frame{display:grid;width:fit-content;max-width:min(600px,78vw);place-items:center;border-radius:30px;background:var(--accent);overflow:hidden;padding:clamp(.8rem,1.8vw,1.35rem);transform:rotate(var(--artifact-angle, 0deg));transform-origin:center}.project-artifact-frame.is-logo-stack{gap:clamp(1rem,2vw,1.5rem);padding:clamp(1.25rem,2.4vw,2rem)}.project-artifact-card img{display:block;width:auto;max-width:min(600px,72vw);height:auto;max-height:clamp(360px,58vh,620px);object-fit:contain}.project-artifact-frame.is-logo-stack img{max-width:min(260px,56vw);max-height:180px}.project-artifact-frame.is-logo-stack img:first-child{width:min(150px,42vw)}.project-artifact-frame.is-logo-stack img:last-child{width:min(260px,56vw)}.project-artifact-carousel-controls{margin-top:clamp(.9rem,2vw,1.35rem)}.project-copy-stack{row-gap:clamp(3rem,6vw,5.5rem)}.project-media-grid{row-gap:clamp(2rem,3.5vw,3rem)}.project-media-card{grid-column:span 8;margin:0}.project-media-card-solo{grid-column:3/-3}.project-adjacent-grid{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));column-gap:clamp(.55rem,1.2vw,1rem)}.project-adjacent-card{--nav-project-accent: var(--accent);position:relative;display:grid;min-height:clamp(230px,24vw,340px);align-content:space-between;gap:1.5rem;border-radius:30px;background:var(--nav-project-accent);color:var(--surface);overflow:hidden;padding:clamp(1.2rem,2.6vw,2rem);text-decoration:none;transition:border-radius .18s ease,transform .18s ease}.project-adjacent-card:hover{border-radius:24px;transform:translateY(-3px)}.project-adjacent-card.is-previous{grid-column:2/9}.project-adjacent-card.is-next{grid-column:9/-2;text-align:right}.project-adjacent-kicker{color:inherit;font-family:IBM Plex Mono,monospace;font-size:.78rem;font-weight:500;line-height:1;text-transform:uppercase}.project-adjacent-card strong{display:block;max-width:10ch;color:inherit;font-family:var(--title-font);font-size:clamp(2.15rem,5vw,5.4rem);font-weight:700;letter-spacing:0;line-height:.88}.project-adjacent-card.is-next strong{justify-self:end}.missing-state{display:grid;min-height:100vh;align-content:center;gap:1rem;padding:clamp(1.5rem,5vw,4rem);background:var(--surface)}.missing-state h1{margin:0;color:var(--accent);font-family:var(--title-font);font-size:clamp(2.5rem,7vw,5rem);font-weight:700;line-height:.95}.missing-state p{margin:0;color:var(--text-soft);font-size:1.2rem;font-weight:500}@media (max-width: 1080px){.project-details-inner{grid-template-columns:repeat(3,minmax(0,1fr))}.project-copy-block{grid-column:3/-3}}@media (max-width: 760px){.project-case{gap:3.4rem;padding:7rem 1rem 4rem}.project-hero-title,.project-hero-media,.project-details-inner,.project-copy-block,.project-section-static-images,.project-artifact-carousel,.project-media-card,.project-media-card-solo,.project-adjacent-card.is-previous,.project-adjacent-card.is-next{grid-column:1/-1}.project-adjacent-grid{row-gap:1rem}.project-hero-title h1{margin-top:1rem;font-size:clamp(1.5rem,9vw,2.7rem)}.project-details-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.project-artifact-carousel-stage{min-height:clamp(360px,58vh,620px)}}@media (max-width: 520px){.project-details-inner{grid-template-columns:1fr}.project-section-carousel-stage:before,.project-section-image-card{width:72%}.project-section-static-images{grid-template-columns:1fr}.project-artifact-card,.project-artifact-frame{max-width:min(600px,82vw)}.project-artifact-card img{max-width:74vw;max-height:520px}.project-hero-media img,.project-media-card img{aspect-ratio:4/3}}
