.project-story{--case-soft: color-mix(in srgb, var(--project-color) 8%, var(--strategy-color-bg));--case-rule: color-mix(in srgb, var(--project-color) 20%, var(--strategy-color-line));--case-shadow: color-mix(in srgb, var(--strategy-color-ink) 14%, transparent);--case-section-separation: var(--strategy-space-10);padding-bottom:0}.project-story .case-breadcrumb{padding-top:var(--strategy-space-6)}.project-story .case-breadcrumb ol{margin-bottom:var(--strategy-space-8)}.project-story .case-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:var(--strategy-space-12);align-items:center;padding-block:var(--strategy-space-6) var(--strategy-space-12)}.project-story .case-heading{min-width:0}.project-story .case-heading .strategy-category{margin-bottom:var(--strategy-space-6);gap:var(--strategy-space-2);line-height:1.6}.project-story .case-hero h1{font-size:clamp(2.375rem,3.6vw,3.375rem);max-width:24ch;font-weight:600;letter-spacing:-.055em;line-height:1.1;text-wrap:balance;overflow-wrap:normal}.project-story .case-title-brand{display:block;font-size:.47em;letter-spacing:-.025em;line-height:1.4;margin-bottom:var(--strategy-space-5);color:var(--strategy-color-muted)}.project-story .case-description{max-width:48ch;margin-top:var(--strategy-space-6);color:var(--strategy-color-muted);font-size:1rem;line-height:1.8}.case-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--strategy-space-3) var(--strategy-space-6);margin-top:var(--strategy-space-6)}.case-explore-link{display:inline-flex;align-items:center;gap:var(--strategy-space-3);min-height:44px;font-size:var(--strategy-text-small);color:var(--strategy-color-muted)}.case-explore-link:hover{text-decoration:underline;text-underline-offset:5px}.project-story .case-hero-visual{min-width:0;margin:0}.case-image-surface{padding:var(--strategy-space-6);background:var(--project-color);color:var(--project-ink);border-radius:10px;overflow:hidden}.case-image-brand{display:flex;align-items:center;justify-content:space-between;gap:var(--strategy-space-6);margin-bottom:var(--strategy-space-6)}.case-image-brand>span{flex-shrink:0;font-size:.75rem}.case-image-button{display:block;position:relative;width:100%;margin:0;border:0;border-radius:5px;padding:0;background:transparent;cursor:zoom-in;box-shadow:0 12px 32px var(--case-shadow);overflow:hidden}.case-image-button>img{display:block;width:100%;height:auto;transition:transform .42s var(--strategy-easing)}.case-image-expand{display:flex;align-items:center;gap:8px;position:absolute;right:12px;bottom:12px;padding:9px 12px;border:1px solid var(--strategy-color-line);border-radius:5px;background:var(--strategy-color-bg);color:var(--strategy-color-ink);font-size:.6875rem}.project-story .case-hero-visual figcaption{margin-top:12px;color:var(--strategy-color-muted);font-size:.6875rem;line-height:1.65}.case-image-button:focus-visible{outline-offset:5px;outline-color:var(--project-ink)}.project-story .case-facts dl{display:grid;grid-template-columns:.8fr 1.5fr .7fr 1fr;gap:var(--strategy-space-8);margin:0;padding-block:var(--strategy-space-6);border-block:1px solid var(--strategy-color-line)}.project-story .case-facts dl>div{min-width:0}.case-facts dt{font-size:.6875rem;color:var(--strategy-color-muted)}.case-facts dd{margin:8px 0 0;font-size:.8125rem;line-height:1.7}.case-facts .case-status{font-weight:600}.case-facts nav{display:flex;gap:var(--strategy-space-8);padding-top:var(--strategy-space-4)}.case-facts nav a{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:.75rem}.case-facts nav a span{color:var(--strategy-color-accent)}.case-facts nav a:hover{text-decoration:underline;text-underline-offset:5px}.project-story .case-construction{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:var(--strategy-space-20);padding-block:var(--strategy-space-20)}.project-story .case-eyebrow{color:var(--strategy-color-muted);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--strategy-space-5)}.project-story .case-construction h2{font-size:clamp(1.625rem,2.5vw,2.375rem);max-width:23ch;letter-spacing:-.045em;line-height:1.2}.project-story .case-construction p:not(.case-eyebrow){margin-top:var(--strategy-space-6);font-size:.9375rem;color:var(--strategy-color-muted);line-height:1.9;max-width:60ch}.project-story .case-build{border-left:2px solid var(--project-color);padding-left:var(--strategy-space-8)}.project-story .case-journey{background:var(--case-soft);padding-block:var(--strategy-space-16)}.project-story .case-section-heading h2{font-size:clamp(1.75rem,3vw,2.75rem);max-width:29ch;line-height:1.2;letter-spacing:-.045em}.case-journey-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--strategy-space-8);margin:var(--strategy-space-10) 0 0;padding:0;list-style:none}.case-journey-steps--4{grid-template-columns:repeat(4,minmax(0,1fr))}.case-journey-steps li{position:relative;min-width:0}.case-journey-marker{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;position:relative;z-index:1;background:var(--strategy-color-bg);border:1px solid var(--case-rule);color:var(--strategy-color-ink);border-radius:50%;font-size:.75rem;font-variant-numeric:tabular-nums}.case-journey-steps li:not(:last-child):before{content:"";position:absolute;height:1px;left:44px;right:-32px;top:22px;background:var(--case-rule)}.case-journey-steps li:not(:last-child):after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--project-color);left:44px;top:19px;opacity:0}.case-journey[data-entered=true] .case-journey-steps li:not(:last-child):after{animation:case-step-travel 2.8s ease-in-out both}.case-journey[data-running=false] .case-journey-steps li:after{animation-play-state:paused}.project-story .case-journey-steps h3{margin-top:var(--strategy-space-5);font-size:1.125rem;line-height:1.4;letter-spacing:-.025em}.project-story .case-journey-steps li p{margin-top:var(--strategy-space-3);font-size:.875rem;color:var(--strategy-color-muted);line-height:1.8;max-width:30ch}.project-story .case-capabilities{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--strategy-space-20);padding-block:var(--strategy-space-20)}.project-story>.case-journey+.case-capabilities{margin-top:var(--case-section-separation);padding-top:var(--case-section-separation)}.project-story .case-capabilities .case-section-heading>p:last-child{margin-top:var(--strategy-space-5);color:var(--strategy-color-muted);font-size:.875rem}.case-capabilities-list details{border-top:1px solid var(--strategy-color-line)}.case-capabilities-list details:last-child{border-bottom:1px solid var(--strategy-color-line)}.case-capabilities-list summary{display:flex;align-items:center;gap:var(--strategy-space-5);cursor:pointer;min-height:76px;padding-block:var(--strategy-space-4);list-style:none}.case-capabilities-list summary::-webkit-details-marker{display:none}.case-capability-index{color:var(--strategy-color-muted);font-size:.6875rem}.project-story .case-capabilities-list h3{flex:1;font-size:1.125rem;line-height:1.4;letter-spacing:-.025em}.case-capability-toggle{color:var(--strategy-color-accent);font-size:1.5rem;transition:transform .18s ease}.case-capabilities-list details[open] .case-capability-toggle{transform:rotate(45deg)}.project-story .case-capabilities-list details>p{font-size:.9375rem;line-height:1.8;color:var(--strategy-color-muted);margin:0 0 var(--strategy-space-6);padding-left:36px}.project-story .case-expertise{padding-block:var(--strategy-space-20);background:var(--project-color);color:var(--project-ink)}.case-expertise .case-eyebrow{color:inherit}.project-story .case-expertise h2{font-size:clamp(2rem,3.8vw,3.5rem);max-width:28ch;letter-spacing:-.05em;line-height:1.12}.project-story .case-expertise-lead{font-size:1.125rem;line-height:1.8;max-width:70ch;margin-top:var(--strategy-space-8)}.case-business-bridge{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--strategy-space-16);border-top:1px solid color-mix(in srgb,var(--project-ink) 25%,transparent);margin-top:var(--strategy-space-10);padding-top:var(--strategy-space-8)}.project-story .case-business-bridge>p{font-size:.875rem;line-height:1.8;max-width:70ch}.case-business-bridge .strategy-button{background:var(--project-ink);color:var(--project-color);border-color:var(--project-ink)}.case-business-bridge .strategy-button:hover{text-decoration:underline;text-underline-offset:4px}.case-expertise :focus-visible{outline-color:var(--project-ink)}.project-story.projects-theme--fitgram .case-expertise{--project-ink: var(--color-accent-ink);color:var(--project-ink)}.project-story.projects-theme--fitgram .case-expertise .case-eyebrow{color:inherit}.project-story.projects-theme--fitgram .case-business-bridge .strategy-button{background:transparent;color:var(--project-ink);border-color:var(--project-ink)}.project-story .projects-related{padding-block:var(--strategy-space-20)}.project-story--security .case-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.project-story--security .case-image-surface{border-radius:2px;padding:var(--strategy-space-8) var(--strategy-space-6)}.project-story--security .case-journey-marker{border-radius:4px;background:var(--project-color);color:var(--project-ink)}.project-story--fitness .case-hero{grid-template-columns:minmax(0,1fr);text-align:center;gap:var(--strategy-space-10)}.project-story--fitness .case-heading .strategy-category{justify-content:center}.project-story--fitness .case-hero h1{margin-inline:auto;max-width:23ch;font-size:clamp(2.5rem,4.8vw,4.5rem)}.project-story--fitness .case-description{margin-inline:auto;max-width:58ch}.project-story--fitness .case-hero-actions{justify-content:center}.project-story--fitness .case-hero-visual{width:100%;max-width:1020px;justify-self:center;text-align:left}.project-story--fitness .case-image-button{transform:rotate(-1.2deg)}.project-story--fitness .case-image-surface{padding:var(--strategy-space-8) var(--strategy-space-10) var(--strategy-space-10)}.project-story--fitness .case-journey{margin-top:var(--strategy-space-12)}.project-story--fitness .case-journey-steps li{padding:var(--strategy-space-6);background:var(--strategy-color-bg);border-bottom:3px solid var(--project-color)}.project-story--fitness .case-journey-steps li:before,.project-story--fitness .case-journey-steps li:after{display:none}.project-story--fitness .case-journey-marker{border:0;width:auto;height:auto;font-family:var(--strategy-font-display);font-size:2.5rem;letter-spacing:-.06em}.project-story--planning .case-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.project-story--planning .case-hero-visual{order:-1}.project-story--planning .case-image-surface{padding-block:var(--strategy-space-12)}.project-story--planning .case-construction{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.project-story--planning .case-build{border:0;background:var(--case-soft);padding:var(--strategy-space-8)}.project-story--planning .case-journey>.strategy-container{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--strategy-space-16)}.project-story--planning .case-journey-steps{grid-template-columns:1fr;gap:var(--strategy-space-6);margin:0}.project-story--planning .case-journey-steps li{display:grid;grid-template-columns:44px 1fr;gap:0 var(--strategy-space-5)}.project-story--planning .case-journey-marker{grid-row:span 2}.project-story--planning .case-journey-steps h3{margin:0}.project-story--planning .case-journey-steps li p{max-width:none}.project-story--planning .case-journey-steps li:before{width:1px;height:auto;inset:44px auto -24px 22px}.project-story--planning .case-journey-steps li:after{display:none}.project-story--editorial .case-hero{grid-template-columns:1fr}.project-story--editorial .case-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:0 var(--strategy-space-16);align-items:end}.project-story--editorial .case-heading .strategy-category{grid-column:1 / -1}.project-story--editorial .case-hero h1{grid-row:span 2;font-size:clamp(2.5rem,4.5vw,4.25rem)}.project-story--editorial .case-description{margin-top:0}.project-story--editorial .case-hero-actions{align-self:start}.project-story--editorial .case-image-surface{display:grid;grid-template-columns:.3fr 1fr;gap:var(--strategy-space-8);padding:var(--strategy-space-10)}.project-story--editorial .case-image-brand{flex-direction:column;align-items:flex-start;justify-content:space-between;margin:0}.project-story--editorial .case-construction{grid-template-columns:minmax(0,1fr);max-width:960px;gap:var(--strategy-space-10)}.project-story--editorial .case-construction>div{display:grid;grid-template-columns:.8fr 1fr;gap:0 var(--strategy-space-10);border:0;padding:0}.project-story--editorial .case-construction .case-eyebrow{grid-column:1 / -1}.project-story--editorial .case-construction p:not(.case-eyebrow){margin-top:0}.project-story--operations .case-hero{grid-template-columns:1fr;gap:var(--strategy-space-10)}.project-story--operations .case-heading{max-width:900px}.project-story--operations .case-hero h1{font-size:clamp(2.5rem,4.8vw,4.5rem)}.project-story--operations .case-description{max-width:65ch}.project-story--operations .case-image-surface{padding:var(--strategy-space-8) var(--strategy-space-12) 0}.project-story--operations .case-image-button{max-height:650px;border-radius:8px 8px 0 0}.project-story--operations .case-image-expand{bottom:20px}.project-story--operations .case-journey{margin-top:var(--strategy-space-12);background:var(--project-color);color:var(--project-ink)}.project-story--operations .case-journey .case-eyebrow,.project-story--operations .case-journey-steps li p{color:inherit}.project-story--operations .case-journey-marker{border-radius:4px}.project-story--operations .case-journey-steps li:after{background:var(--project-ink)}.project-story--finance .case-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.project-story--finance .case-image-surface{padding-block:var(--strategy-space-10);border-radius:24px}.project-story--finance .case-construction{grid-template-columns:1fr 1fr}.project-story--finance .case-capabilities{background:var(--case-soft);border-radius:12px;margin-bottom:var(--strategy-space-16)}.project-story--finance .case-journey-marker{background:var(--project-color);color:var(--project-ink)}.case-image-dialog{width:min(1280px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:var(--strategy-space-5);margin:auto;border:1px solid var(--strategy-color-line);border-radius:10px;background:var(--strategy-color-bg);color:var(--strategy-color-ink);overflow-y:auto}.case-image-dialog::backdrop{background:color-mix(in srgb,var(--strategy-color-ink) 78%,transparent)}.case-image-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:var(--strategy-space-4)}.project-story .case-image-dialog h2{font-size:1.125rem;letter-spacing:-.02em}.case-image-dialog-heading button{display:flex;align-items:center;gap:12px;min-height:44px;background:var(--strategy-color-surface);border:1px solid var(--strategy-color-line);border-radius:5px;padding:8px 12px;font-size:.8125rem;flex-shrink:0}.case-image-dialog-heading button span{font-size:1.5rem}.case-image-dialog>img{display:block;width:100%;height:auto;max-height:calc(100dvh - 185px);-o-object-fit:contain;object-fit:contain}.project-story .case-image-dialog>p{margin-top:var(--strategy-space-4);font-size:.75rem;line-height:1.6;color:var(--strategy-color-muted)}@keyframes case-step-travel{0%,10%{left:44px;opacity:0}20%{opacity:1}75%{opacity:1}90%,to{left:calc(100% + 26px);opacity:0}}@media(hover:hover)and (pointer:fine){.case-image-button:hover>img{transform:scale(1.025)}}@media(max-width:1080px){.project-story .case-hero,.project-story .case-construction,.project-story .case-capabilities{gap:var(--strategy-space-8)}.case-business-bridge{grid-template-columns:1fr;gap:var(--strategy-space-6)}.case-business-bridge .strategy-button{justify-self:start}.case-journey-steps{gap:var(--strategy-space-6)}.case-journey-steps li:not(:last-child):before{right:-24px}.project-story--editorial .case-image-surface{padding:var(--strategy-space-6);grid-template-columns:.35fr 1fr}}@media(max-width:800px){.project-story{--case-section-separation: var(--strategy-space-6)}.project-story .case-hero,.project-story .case-construction,.project-story .case-capabilities,.project-story--editorial .case-heading{grid-template-columns:1fr}.project-story .case-hero h1{font-size:clamp(2.25rem,6.5vw,3.5rem);max-width:25ch}.project-story .case-hero--reverse .case-hero-visual{order:initial}.project-story .case-heading .case-description{margin-top:var(--strategy-space-6)}.project-story .case-facts dl{grid-template-columns:1fr 1fr;gap:var(--strategy-space-6)}.project-story .case-construction,.project-story .case-capabilities,.project-story .case-expertise{padding-block:var(--strategy-space-12)}.project-story .case-build{padding-left:var(--strategy-space-6)}.project-story--planning .case-build{padding:var(--strategy-space-6)}.project-story--planning .case-journey>.strategy-container{grid-template-columns:1fr;gap:var(--strategy-space-8)}.case-journey-steps--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--strategy-space-8)}.case-journey-steps--4 li:nth-child(2):before,.case-journey-steps--4 li:nth-child(2):after{display:none}.project-story--fitness .case-image-surface,.project-story--operations .case-image-surface{padding:var(--strategy-space-6)}.project-story--editorial .case-description{max-width:65ch}.project-story--editorial .case-construction>div{grid-template-columns:1fr}.project-story--editorial .case-construction p:not(.case-eyebrow){margin-top:var(--strategy-space-5)}.project-story .case-capabilities .case-section-heading h2{max-width:24ch}}@media(max-width:540px){.project-story .case-hero{padding-top:var(--strategy-space-3)}.project-story .case-hero h1{font-size:clamp(2rem,8.8vw,2.75rem)}.project-story .case-hero .case-title-brand{font-size:.55em;margin-bottom:var(--strategy-space-4)}.project-story .case-hero .strategy-category{font-size:.6875rem}.project-story .case-description{font-size:.9375rem}.case-image-surface,.project-story--security .case-image-surface,.project-story--finance .case-image-surface,.project-story--fitness .case-image-surface,.project-story--operations .case-image-surface{padding:var(--strategy-space-4);border-radius:8px}.project-story--editorial .case-image-surface{display:block;padding:var(--strategy-space-4)}.project-story--editorial .case-image-brand{flex-direction:row;align-items:center;margin-bottom:var(--strategy-space-5)}.case-image-brand{gap:var(--strategy-space-3);margin-bottom:var(--strategy-space-5)}.case-image-brand>span{font-size:.625rem}.case-image-expand{position:static;justify-content:center;border-radius:0;border:0;min-height:36px}.project-story .case-facts dl{gap:var(--strategy-space-5)}.case-facts nav{gap:var(--strategy-space-4);justify-content:space-between}.case-facts nav a{font-size:.6875rem;gap:4px}.case-journey-steps,.case-journey-steps--4{grid-template-columns:1fr;gap:var(--strategy-space-6)}.case-journey-steps li{display:grid;grid-template-columns:44px 1fr;gap:0 var(--strategy-space-5)}.case-journey-marker{grid-row:span 2}.project-story .case-journey-steps h3{margin-top:0}.project-story .case-journey-steps li p{max-width:none;margin-top:var(--strategy-space-2)}.case-journey-steps li:before,.case-journey-steps li:after{display:none}.project-story--fitness .case-journey-steps li{padding:var(--strategy-space-5)}.project-story .case-expertise h2{font-size:clamp(1.875rem,7vw,2.5rem)}.project-story .case-expertise-lead{font-size:1rem;margin-top:var(--strategy-space-6)}.case-business-bridge{margin-top:var(--strategy-space-8);padding-top:var(--strategy-space-6)}.case-business-bridge .strategy-button{width:100%;font-size:.75rem;padding-inline:var(--strategy-space-3);gap:8px}.case-image-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:var(--strategy-space-3)}}@media(prefers-reduced-motion:reduce){.case-image-button>img,.case-capability-toggle{transition:none}.case-image-button:hover>img{transform:none}.case-journey[data-entered=true] .case-journey-steps li:after{animation:none}}
