.cs-hero{min-height:100vh;padding-top:48px;background:var(--ink);display:grid;grid-template-rows:1fr auto;overflow:hidden;position:relative}.cs-hero-content{display:grid;grid-template-columns:1fr 1fr;height:100%}.cs-hero-left{padding:80px 48px;display:flex;flex-direction:column;justify-content:flex-end;border-right:1px solid rgba(244,241,236,.08)}.cs-back{position:absolute;top:72px;left:48px;font-family:var(--fm);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#f4f1ec8c;text-decoration:none;display:flex;align-items:center;gap:8px;transition:color .2s}.cs-back:hover{color:var(--orange)}.cs-back:before{content:"←︎";font-family:var(--fi);font-size:16px}.cs-project-num{font-family:var(--fm);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--orange);margin-bottom:20px;display:block;opacity:0;animation:cs-fadeUp .6s ease .1s forwards}.cs-title{font-family:var(--fi);font-size:clamp(60px,8vw,120px);line-height:.9;letter-spacing:.02em;color:var(--white);margin-bottom:32px;overflow:hidden}.cs-title .line{display:block;transform:translateY(100%);animation:cs-slideUp .7s cubic-bezier(.16,1,.3,1) forwards}.cs-title .line:nth-child(1){animation-delay:.15s}.cs-title .line:nth-child(2){animation-delay:.25s}.cs-title .line:nth-child(3){animation-delay:.35s;color:var(--orange)}@keyframes cs-slideUp{to{transform:translateY(0)}}@keyframes cs-fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cs-tagline{font-family:var(--fs);font-style:italic;font-size:20px;color:#f4f1eca6;line-height:1.5;max-width:380px;opacity:0;animation:cs-fadeUp .7s ease .7s forwards}.cs-hero-right{position:relative;overflow:hidden;background:#181818}.cs-hero-visual{position:absolute;inset:0}.cs-hero-gradient{position:absolute;inset:0;z-index:0}.cs-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.cs-hero-placeholder{position:absolute;inset:24px;border:1px dashed rgba(244,241,236,.18);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}.cs-hero-placeholder span{font-family:var(--fm);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:#f4f1ec59}.cs-hero-geo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:2}.geo-circle-1{position:absolute;width:70vw;height:70vw;max-width:600px;max-height:600px;border:1px solid rgba(227,26,26,.14);border-radius:50%}.geo-circle-2{position:absolute;width:50vw;height:50vw;max-width:420px;max-height:420px;border:1px solid rgba(227,26,26,.2);border-radius:50%}.geo-word{font-family:var(--fi);font-size:clamp(80px,12vw,160px);color:transparent;-webkit-text-stroke:1px rgba(227,26,26,.22);letter-spacing:.1em;z-index:2}.cs-hero-badge{position:absolute;bottom:48px;left:48px;z-index:3;opacity:0;animation:cs-fadeUp .7s ease 1s forwards}.cs-hero-badge-inner{display:inline-block;border:1px solid var(--orange);padding:12px 24px}.cs-hero-badge span{font-family:var(--fi);font-size:28px;color:var(--orange);display:block;line-height:1}.cs-hero-badge small{font-family:var(--fm);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#f4f1ec8c}.cs-meta-bar{border-top:1px solid rgba(244,241,236,.08);display:grid;grid-template-columns:repeat(4,1fr)}.cs-meta-item{padding:20px 32px;border-right:1px solid rgba(244,241,236,.08)}.cs-meta-item:last-child{border-right:none}.cs-meta-label{font-family:var(--fm);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#f4f1ec8c;display:block;margin-bottom:4px}.cs-meta-value{font-family:var(--fm);font-size:12px;color:var(--white)}.cs-overview{padding:100px 48px;display:grid;grid-template-columns:1fr 2fr;gap:80px;border-bottom:1px solid rgba(15,15,15,.1)}.cs-overview.is-paper{background:var(--paper)}.cs-section-label{font-family:var(--fi);font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:.02em;color:var(--ink);position:sticky;top:72px;align-self:start}.cs-section-label>span{display:block;font-family:var(--fm);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--orange);margin-bottom:8px}.cs-lead{font-family:var(--fs);font-size:clamp(22px,3vw,36px);font-style:italic;line-height:1.4;color:var(--ink);margin-bottom:40px}.cs-body-text{font-family:var(--fm);font-size:14px;font-weight:300;line-height:1.9;color:var(--mid);max-width:640px}.cs-body-text+.cs-body-text{margin-top:24px}.cs-challenge-response{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(15,15,15,.1)}.cs-cr-col{padding:80px 48px;border-right:1px solid rgba(15,15,15,.1)}.cs-cr-col:last-child{border-right:none}.cs-cr-num{font-family:var(--fi);font-size:80px;color:var(--orange);line-height:1;opacity:.2;display:block;margin-bottom:-16px}.cs-cr-title{font-family:var(--fi);font-size:clamp(32px,4vw,52px);line-height:1;letter-spacing:.02em;color:var(--ink);margin-bottom:24px}.cs-cr-text{font-family:var(--fm);font-size:13px;font-weight:300;line-height:1.9;color:var(--mid)}.cs-gallery{background:var(--paper)}.cs-gallery-full{width:100%;aspect-ratio:21/9;position:relative;overflow:hidden}.cs-gallery-grid{display:grid}.cs-gallery-grid.cols-2{grid-template-columns:1fr 1fr}.cs-img-block{position:relative;overflow:hidden;aspect-ratio:4/3}.cs-img-block.tall{aspect-ratio:3/4}.cs-img-block.wide{aspect-ratio:16/7}.cs-img-block.full{aspect-ratio:21/9}.cs-img-block img,.cs-gallery-full>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;display:block}.cs-img-block .img-placeholder,.cs-gallery-full>.img-placeholder{position:absolute;inset:0;background:linear-gradient(135deg,#1a1a1a,#2a2a2a,#1a1a1a)}.cs-img-block:hover img{transform:scale(1.04)}.cs-img-caption{position:absolute;bottom:0;left:0;right:0;padding:16px 24px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);font-family:var(--fm);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#f4f1ecbf;z-index:2}.cs-deliverables{padding:100px 48px;display:grid;grid-template-columns:1fr 2fr;gap:80px;border-bottom:1px solid rgba(15,15,15,.1)}.cs-deliverable-list{list-style:none}.cs-deliverable-item{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid rgba(15,15,15,.08);opacity:0;transform:translate(-16px);transition:opacity .5s ease,transform .5s ease}.cs-deliverable-item.visible{opacity:1;transform:translate(0)}.dl-num{font-family:var(--fi);font-size:20px;color:var(--orange);opacity:.5}.dl-name{font-family:var(--fi);font-size:clamp(18px,2vw,26px);letter-spacing:.02em;color:var(--ink)}.dl-type{font-family:var(--fm);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--mid);border:1px solid rgba(15,15,15,.15);padding:4px 10px}.cs-pullquote{background:var(--orange);padding:80px 48px;position:relative;overflow:hidden}.cs-pullquote-text{font-family:var(--fs);font-size:clamp(28px,4vw,56px);font-style:italic;line-height:1.3;color:var(--ink);max-width:760px;position:relative;z-index:2}.cs-pullquote-source{margin-top:24px;font-family:var(--fm);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);position:relative;z-index:2}.cs-pullquote-bg{position:absolute;right:-60px;top:-60px;font-family:var(--fi);font-size:400px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.07);line-height:1;user-select:none}.cs-outcomes{padding:100px 48px;background:var(--ink)}.cs-outcomes-header{margin-bottom:64px;display:flex;align-items:baseline;gap:24px;border-bottom:1px solid rgba(244,241,236,.08);padding-bottom:32px}.cs-outcomes-title{font-family:var(--fi);font-size:clamp(48px,6vw,80px);letter-spacing:.02em;color:var(--white)}.cs-outcomes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.cs-outcome-stat{padding:40px 32px;border-right:1px solid rgba(244,241,236,.06)}.cs-outcome-stat:last-child{border-right:none}.cs-outcome-num{font-family:var(--fi);font-size:clamp(40px,5vw,64px);color:var(--orange);line-height:1;display:block;margin-bottom:8px}.cs-outcome-label{font-family:var(--fm);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#f4f1ec99;display:block;margin-bottom:16px}.cs-outcome-desc{font-family:var(--fs);font-style:italic;font-size:15px;color:#f4f1ecb3;line-height:1.5}.cs-next{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink)}.cs-next-col{padding:64px 48px;border-right:1px solid rgba(15,15,15,.1);position:relative;overflow:hidden;cursor:none;transition:background .3s;text-decoration:none;color:inherit;display:block}.cs-next-col:last-child{border-right:none}.cs-next-col:hover{background:var(--paper)}.cs-next-col:before{content:"";position:absolute;top:0;left:0;width:0;height:3px;background:var(--orange);transition:width .4s}.cs-next-col:hover:before{width:100%}.cs-next-label{font-family:var(--fm);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--mid);display:block;margin-bottom:16px}.cs-next-title{font-family:var(--fi);font-size:clamp(28px,3.5vw,48px);letter-spacing:.02em;color:var(--ink);line-height:1.1;margin-bottom:16px;transition:color .3s}.cs-next-col:hover .cs-next-title{color:var(--orange)}.cs-next-arrow{font-family:var(--fi);font-size:24px;color:var(--ink);transition:all .3s;display:inline-block}.cs-next-col:hover .cs-next-arrow{color:var(--orange);transform:translate(4px,-4px)}.cs-next-col:focus-visible,.cs-back:focus-visible{outline-offset:-2px}@media (prefers-reduced-motion: reduce){.cs-title .line,.cs-tagline,.cs-project-num,.cs-hero-badge{transform:none!important;opacity:1!important;animation:none!important}.cs-img-block:hover img{transform:none!important}}@media (hover: none),(pointer: coarse){.cs-back,.cs-next-col,.cs-img-block{cursor:pointer}}@media (max-width: 1024px){.cs-hero-content{grid-template-columns:1fr}.cs-hero-left{padding:64px 32px;border-right:none;border-bottom:1px solid rgba(244,241,236,.08)}.cs-hero-right{min-height:46vh}.cs-back{left:32px;top:64px}.cs-hero-badge{left:32px;bottom:32px}.cs-overview{grid-template-columns:1fr;gap:32px;padding:80px 32px}.cs-section-label{position:static}.cs-cr-col{padding:64px 32px}.cs-deliverables{grid-template-columns:1fr;gap:32px;padding:80px 32px}.cs-pullquote{padding:64px 32px}.cs-pullquote-bg{font-size:280px;right:-30px;top:-30px}.cs-outcomes{padding:80px 32px}.cs-next-col{padding:48px 32px}}@media (max-width: 768px){.cs-hero-left{padding:56px 24px}.cs-back{left:24px;top:56px}.cs-title{font-size:clamp(48px,12vw,96px)}.cs-tagline{font-size:18px}.cs-meta-bar{grid-template-columns:repeat(2,1fr)}.cs-meta-item:nth-child(2){border-right:none}.cs-meta-item:nth-child(-n+2){border-bottom:1px solid rgba(244,241,236,.08)}.cs-overview{padding:64px 24px}.cs-lead{font-size:22px}.cs-challenge-response{grid-template-columns:1fr}.cs-cr-col{padding:48px 24px;border-right:none;border-bottom:1px solid rgba(15,15,15,.1)}.cs-cr-col:last-child{border-bottom:none}.cs-cr-num{font-size:60px}.cs-gallery-grid.cols-2{grid-template-columns:1fr}.cs-img-block.tall{aspect-ratio:4/3}.cs-deliverables{padding:64px 24px}.cs-deliverable-item{grid-template-columns:24px 1fr auto;gap:16px;padding:20px 0}.dl-name{font-size:18px}.cs-pullquote{padding:56px 24px}.cs-pullquote-text{font-size:24px}.cs-pullquote-bg{font-size:200px}.cs-outcomes{padding:64px 24px}.cs-outcomes-header{flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:24px;margin-bottom:48px}.cs-outcomes-grid{grid-template-columns:1fr}.cs-outcome-stat{padding:32px 24px;border-right:none;border-bottom:1px solid rgba(244,241,236,.06)}.cs-outcome-stat:last-child{border-bottom:none}.cs-next{grid-template-columns:1fr;border-top:1px solid var(--ink)}.cs-next-col{padding:40px 24px;border-right:none;border-bottom:1px solid rgba(15,15,15,.1)}.cs-next-col:last-child{border-bottom:none}}@media (max-width: 480px){.cs-hero-left{padding:48px 20px}.cs-back{left:20px}.cs-title{font-size:clamp(40px,14vw,80px)}.cs-tagline{font-size:16px}.cs-hero-badge{left:20px;bottom:20px}.cs-meta-bar{grid-template-columns:1fr}.cs-meta-item{border-right:none;border-bottom:1px solid rgba(244,241,236,.08)}.cs-meta-item:last-child{border-bottom:none}.cs-overview,.cs-deliverables,.cs-outcomes{padding:48px 20px}.cs-section-label{font-size:clamp(32px,12vw,48px)}.cs-cr-col{padding:40px 20px}.cs-cr-title{font-size:28px}.cs-pullquote{padding:48px 20px}.cs-pullquote-text{font-size:20px}.cs-pullquote-bg{font-size:160px}.cs-outcome-stat{padding:28px 20px}.cs-outcome-num{font-size:56px}.cs-next-col{padding:32px 20px}.cs-next-title{font-size:24px}}
