.portfolio-hero{padding-top:calc(80px+8rem);padding-bottom:var(--space-lg)}.portfolio-hero__content{max-width:760px}.portfolio-hero__title{margin:var(--space-sm) 0 var(--space-md);font-size:clamp(1.9rem,4.2vw,3.4rem);line-height:1.12;letter-spacing:-0.02em}.has-anim .portfolio-hero__title .line{opacity:0}.portfolio-hero__title .line{display:block;overflow:hidden}.portfolio-hero__desc{font-size:clamp(1rem,1.8vw,1.15rem);color:var(--color-slate);max-width:500px}.has-anim .portfolio-hero__desc{opacity:0}.portfolio-hero__line{margin-top:var(--space-lg);overflow:hidden}.portfolio-filters-section{padding:var(--space-md) 0}.portfolio-filters{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}.filter-btn{padding:0.5rem 1.25rem;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--color-slate);border:1px solid rgba(106,123,155,0.25);background:transparent;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);cursor:none}.filter-btn:hover{color:var(--color-ivory);border-color:rgba(106,123,155,0.5)}.filter-btn.active{background:var(--color-volt);color:var(--color-noir);border-color:var(--color-volt)}.portfolio-archive-section{padding-top:var(--space-sm)}.portfolio-masonry{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.portfolio-card{grid-column:span var(--card-span,6)}@media (max-width:1024px){.portfolio-card{grid-column:span 6}}@media (max-width:640px){.portfolio-masonry{grid-template-columns:1fr}.portfolio-card{grid-column:span 1}}.portfolio-card__link{display:block;text-decoration:none}.portfolio-card__media{position:relative;overflow:hidden;border-radius:var(--radius-md);aspect-ratio:4 / 3;background:var(--color-navy)}.portfolio-card__media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);transition:transform 0.75s cubic-bezier(0.16,1,0.3,1)}.portfolio-card__placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--color-navy) 0%,rgba(13,27,62,0.5) 100%)}.portfolio-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,11,24,0.95) 0%,rgba(6,11,24,0.4) 60%,transparent 100%);display:flex;align-items:flex-end;padding:var(--space-md);opacity:0;transition:opacity 0.4s ease}.portfolio-card__overlay-inner{transform:translateY(16px);transition:transform 0.45s cubic-bezier(0.16,1,0.3,1)}.portfolio-card:hover .portfolio-card__media img{transform:scale(1.06)}.portfolio-card:hover .portfolio-card__overlay{opacity:1}.portfolio-card:hover .portfolio-card__overlay-inner{transform:translateY(0)}.portfolio-card__tag{display:inline-block;font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--color-volt);margin-bottom:0.4rem}.portfolio-card__title{font-family:var(--font-title);font-size:clamp(1.1rem,2vw,1.4rem);font-weight:700;color:var(--color-ivory);margin-bottom:0.5rem;line-height:1.2}.portfolio-card__excerpt{font-size:0.82rem;color:rgba(244,239,230,0.7);margin-bottom:0.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.portfolio-card__cta{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-mint)}.portfolio-card__meta{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 0 0;font-size:0.78rem}.portfolio-card__meta-cat{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-volt)}.portfolio-card__meta-title{color:var(--color-ivory);font-weight:500;flex:1}.portfolio-card__meta-year{color:var(--color-slate);font-size:0.7rem}.portfolio-card.is-hidden{pointer-events:none}.portfolio-empty{text-align:center;padding:var(--space-xl) 0;color:var(--color-slate)}.case-breadcrumb{display:flex;align-items:center;gap:0.5rem;font-size:0.78rem;color:var(--color-slate);margin-bottom:var(--space-lg);padding-top:calc(80px+var(--space-lg))}.case-breadcrumb a{color:var(--color-slate);transition:color var(--transition-fast)}.case-breadcrumb a:hover{color:var(--color-volt)}.case-hero__layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);align-items:center}.case-hero__tag{margin-bottom:var(--space-sm)}.case-hero__title{margin:var(--space-sm) 0 var(--space-md);opacity:0}.case-hero__title .line{display:block;overflow:hidden}.case-hero__intro{font-size:1.05rem;color:var(--color-ivory);margin-bottom:var(--space-lg);opacity:0}.case-hero__media{border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,0.5)}.case-hero__media img{width:100%;height:100%;object-fit:cover;display:block}.case-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:var(--space-md) 0;border-top:1px solid rgba(106,123,155,0.2);border-bottom:1px solid rgba(106,123,155,0.2)}.case-meta__item dt{font-size:0.65rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--color-slate);margin-bottom:0.25rem}.case-meta__item dd{font-size:0.9rem;color:var(--color-ivory);font-weight:500}.case-meta__link{display:inline-flex;align-items:center;gap:0.3rem;color:var(--color-volt);font-weight:600;transition:gap var(--transition-fast)}.case-meta__link:hover{gap:0.5rem}.case-story__steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-xl);counter-reset:case-step}.case-story__step{position:relative;padding-left:clamp(60px,8vw,110px);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(106,123,155,0.12)}.case-story__step:last-child{border-bottom:none;padding-bottom:0}.case-story__num{position:absolute;left:0;top:0;font-family:var(--font-title);font-size:clamp(2.2rem,4vw,3.4rem);font-weight:800;color:transparent;-webkit-text-stroke:1.5px rgba(197,241,53,0.4);letter-spacing:-0.02em;line-height:1;user-select:none}.case-story__step[data-step="02"] .case-story__num{-webkit-text-stroke:1.5px rgba(61,255,192,0.5)}.case-story__step[data-step="03"] .case-story__num{-webkit-text-stroke:1.5px rgba(197,241,53,0.7);color:rgba(197,241,53,0.05)}.case-story__title{margin:var(--space-sm) 0 var(--space-md);font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1.15;letter-spacing:-0.02em}.case-story__body{font-size:1.05rem;line-height:1.75;color:var(--color-ivory);max-width:65ch}.case-story__kpis{list-style:none;padding:0;margin:var(--space-md) 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-md)}.case-story__kpi{padding:var(--space-md);background:rgba(6,11,24,0.5);border:1px solid rgba(197,241,53,0.15);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:0.25rem;transition:border-color var(--transition-base),transform var(--transition-slow)}.case-story__kpi:hover{border-color:rgba(197,241,53,0.4);transform:translateY(-3px)}.case-story__kpi-value{font-family:var(--font-title);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;color:var(--color-volt);line-height:1;letter-spacing:-0.02em}.case-story__kpi-label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-slate);font-weight:500}@media (max-width:700px){.case-story__step{padding-left:0}.case-story__num{position:relative;display:block;margin-bottom:var(--space-xs)}}.case-content{max-width:780px;margin:0 auto}.case-content h2{color:var(--color-ivory);margin:var(--space-lg) 0 var(--space-sm);font-size:1.75rem}.case-content h3{color:var(--color-ivory);margin:var(--space-md) 0 0.5rem}.case-content p{color:var(--color-slate);line-height:1.85;margin-bottom:1rem}.case-content ul,.case-content ol{padding-left:1.5rem;color:var(--color-slate);margin-bottom:1rem}.case-content li{margin-bottom:0.4rem}.case-content img{border-radius:var(--radius-md);margin:var(--space-md) 0;width:100%}.case-content a{color:var(--color-volt);border-bottom:1px solid rgba(197,241,53,0.3);transition:border-color var(--transition-fast)}.case-content a:hover{border-color:var(--color-volt)}.case-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.case-gallery__item{position:relative;overflow:hidden;border-radius:var(--radius-md);aspect-ratio:4/3;display:block;background:var(--color-navy)}.case-gallery__item:nth-child(4n+1){grid-column:span 2}.case-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s cubic-bezier(0.16,1,0.3,1)}.case-gallery__zoom{position:absolute;inset:0;background:rgba(6,11,24,0.6);display:flex;align-items:center;justify-content:center;color:var(--color-ivory);opacity:0;transition:opacity var(--transition-base)}.case-gallery__item:hover img{transform:scale(1.04)}.case-gallery__item:hover .case-gallery__zoom{opacity:1}.case-nav{padding:var(--space-md) 0}.case-nav__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.case-nav__link{display:flex;flex-direction:column;gap:0.3rem;max-width:300px;transition:opacity var(--transition-fast)}.case-nav__link:hover{opacity:0.8}.case-nav__link--prev{align-items:flex-start}.case-nav__link--next{align-items:flex-end;text-align:right}.case-nav__dir{display:flex;align-items:center;gap:0.4rem;font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-slate)}.case-nav__title{font-family:var(--font-title);font-size:1rem;font-weight:700;color:var(--color-ivory)}.case-nav__all{width:48px;height:48px;border-radius:50%;border:1px solid rgba(106,123,155,0.3);display:flex;align-items:center;justify-content:center;color:var(--color-slate);flex-shrink:0;transition:border-color var(--transition-fast),color var(--transition-fast)}.case-nav__all:hover{border-color:var(--color-volt);color:var(--color-volt)}@media (max-width:900px){.case-hero__layout{grid-template-columns:1fr}.case-hero__media{order:-1}.case-gallery{grid-template-columns:repeat(2,1fr)}.case-gallery__item:nth-child(4n+1){grid-column:span 1}}@media (max-width:600px){.case-gallery{grid-template-columns:1fr}.case-nav__link{max-width:200px}.case-nav__title{font-size:0.85rem}}