.case-study-page{background:var(--background);min-height:100vh;color:var(--foreground);position:relative;scroll-behavior:auto!important}.case-study-section{justify-content:center;align-items:flex-start;width:100%;padding:4rem 1.5rem;display:flex}@media (min-width:640px){.case-study-section{padding:5rem 3rem}}@media (min-width:1024px){.case-study-section{padding:6rem 4rem}}.case-study-content{width:100%;max-width:900px}.case-study-content-wide{width:100%;max-width:1200px}.back-to-portfolio{background:var(--accent);z-index:100;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;text-decoration:none;transition:all .3s;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 16px #f806}.back-to-portfolio-text{font-family:var(--font-body);color:var(--background);letter-spacing:.02em;text-align:center;padding-left:3px;font-size:13px;font-weight:600}.back-to-portfolio:hover{transform:scale(1.08);box-shadow:0 6px 20px #ff880080}@media (max-width:1023px){.back-to-portfolio{width:64px;height:64px;bottom:1.5rem;right:1.5rem}.back-to-portfolio-text{padding-left:0;font-size:0}.back-to-portfolio-text:before{content:"Home";font-size:12px}}.case-study-hero{background:var(--background);justify-content:flex-start;align-items:center;min-height:100vh;padding:8rem 1.5rem 4rem;display:flex;position:relative;overflow:hidden}@media (min-width:640px){.case-study-hero{padding:10rem 3rem 6rem}}@media (min-width:1024px){.case-study-hero{grid-template-rows:1fr;grid-template-columns:1fr 400px;grid-auto-flow:column;align-items:start;gap:4rem;padding:12rem 4rem 8rem;display:grid}}@media (min-width:1280px){.case-study-hero{grid-template-columns:1fr 500px;gap:5rem}}.case-study-hero-background{z-index:1;opacity:.08;pointer-events:none;position:fixed;inset:0}@media (min-width:1024px){.case-study-hero-background{opacity:.5;grid-area:1/2;width:100%;height:100%;min-height:400px;position:relative}}.case-study-hero-with-featured{flex-direction:column;justify-content:flex-start;align-items:center;gap:3rem;min-height:auto;padding-bottom:4rem;display:flex}@media (min-width:640px){.case-study-hero-with-featured{gap:4rem;padding-bottom:5rem}}@media (min-width:1024px){.case-study-hero-with-featured{grid-template-rows:1fr;grid-template-columns:45% 55%;gap:3rem;min-height:100vh;padding-bottom:6rem;display:grid}}@media (min-width:1280px){.case-study-hero-with-featured{grid-template-columns:40% 60%;gap:4rem}}.case-study-hero-featured-image{border-radius:var(--radius-medium);opacity:0;width:100%;height:50vh;min-height:300px;max-height:500px;animation:.8s cubic-bezier(.16,1,.3,1) .5s forwards heroImageFadeIn;position:relative;overflow:hidden;box-shadow:0 20px 60px #00000026}@keyframes heroImageFadeIn{0%{opacity:0;transform:translateY(40px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@media (min-width:640px){.case-study-hero-featured-image{height:55vh;min-height:400px;max-height:600px}}@media (min-width:1024px){.case-study-hero-featured-image{grid-area:1/2;align-self:center;height:70vh;min-height:500px;max-height:none;box-shadow:0 30px 80px #0003}}@media (min-width:1280px){.case-study-hero-featured-image{height:75vh;min-height:550px}}.case-study-hero-with-featured .case-study-hero-content-wrapper{order:-1;width:100%}@media (min-width:1024px){.case-study-hero-with-featured .case-study-hero-content-wrapper{order:0;grid-area:1/1;align-self:center}}.case-study-hero-with-featured .case-study-hero-category{background:0 0;padding:0}.case-study-hero-with-featured .case-study-hero-tagline{background:0 0;margin-top:2rem;padding:0}.case-study-hero-carousel{position:relative}.case-study-hero-carousel-slide{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .8s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0}.case-study-hero-carousel-slide.active{opacity:1;pointer-events:auto}.case-study-hero-carousel-dots{z-index:10;gap:.75rem;display:flex;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.case-study-hero-carousel-dot{cursor:pointer;background:#0003;border:2px solid #ff88004d;border-radius:50%;width:12px;height:12px;padding:0;transition:all .3s}.case-study-hero-carousel-dot:hover{border-color:var(--accent);background:#f806}.case-study-hero-carousel-dot.active{background:var(--accent);border-color:var(--accent);transform:scale(1.2)}@media (min-width:640px){.case-study-hero-carousel-dots{gap:1rem;bottom:2rem}.case-study-hero-carousel-dot{width:14px;height:14px}}.case-study-hero-content-wrapper{z-index:2;justify-content:center;width:100%;display:flex;position:relative}@media (min-width:1024px){.case-study-hero-content-wrapper{grid-area:1/1;justify-content:flex-start}}.case-study-hero-category{font-family:var(--font-body);color:var(--accent);text-transform:uppercase;letter-spacing:.15em;opacity:0;border-radius:var(--radius-small);background:#ffffffe6;margin-bottom:1.5rem;padding:.5rem 1rem;font-size:14px;font-weight:700;animation:.6s forwards fadeInUp;display:inline-block}@media (min-width:640px){.case-study-hero-category{margin-bottom:2rem;padding:.75rem 1.5rem;font-size:16px}}@media (min-width:1024px){.case-study-hero-category{font-size:18px}}.case-study-hero-title{font-family:var(--font-heading);color:var(--foreground);opacity:0;margin:0 0 1rem;font-size:48px;font-weight:400;line-height:1.1;animation:.6s .2s forwards fadeInUp;display:inline-block;position:relative}@media (min-width:640px){.case-study-hero-title{font-size:64px}}@media (min-width:1024px){.case-study-hero-title{font-size:86px}}.case-study-hero-title:after{content:"";background:var(--accent);width:140px;height:4px;position:absolute;bottom:-.75rem;left:0}@media (min-width:1024px){.case-study-hero-title:after{width:180px;height:5px}}.case-study-hero-tagline{font-family:var(--font-body);color:#000000bf;opacity:0;border-radius:var(--radius-medium);background:#ffffffd9;max-width:700px;margin:2.5rem 0 0;padding:1rem 1.5rem;font-size:18px;font-weight:400;line-height:1.6;animation:.6s .4s forwards fadeInUp}@media (min-width:640px){.case-study-hero-tagline{padding:1.25rem 2rem;font-size:20px}}@media (min-width:1024px){.case-study-hero-tagline{padding:1.5rem 2.5rem;font-size:22px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.case-study-description{background:var(--background);padding:4rem 1.5rem}@media (min-width:640px){.case-study-description{padding:5rem 3rem}}@media (min-width:1024px){.case-study-description{padding:6rem 4rem}}.case-study-description-block{margin-bottom:4rem}@media (min-width:1024px){.case-study-description-block{margin-bottom:5rem}}.case-study-section-title{font-family:var(--font-heading);color:var(--foreground);margin:0 0 1.5rem;font-size:28px;font-weight:400;line-height:1.2;display:inline-block;position:relative}@media (min-width:640px){.case-study-section-title{margin-bottom:2rem;font-size:36px}}@media (min-width:1024px){.case-study-section-title{font-size:42px}}.case-study-section-title:after{content:"";background:var(--accent);width:80px;height:2px;position:absolute;bottom:-.5rem;left:0}@media (min-width:640px){.case-study-text{font-size:18px}}@media (min-width:1024px){.case-study-text{font-size:20px}}.case-study-deliverables-list{margin:2rem 0 0;padding:0;list-style:none}.case-study-deliverable-item{font-family:var(--font-body);color:var(--foreground);margin-bottom:1rem;padding-left:2rem;font-size:16px;font-weight:400;line-height:1.6;position:relative}.case-study-deliverable-item:before{content:"→";color:var(--accent);font-weight:600;position:absolute;left:0}@media (min-width:640px){.case-study-deliverable-item{font-size:18px}}@media (min-width:1024px){.case-study-deliverable-item{font-size:20px}}.case-study-block{margin-bottom:4rem}@media (min-width:1024px){.case-study-block{margin-bottom:5rem}}.case-study-heading{font-family:var(--font-body);color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1.5rem;font-size:16px;font-weight:600;line-height:1.4;display:inline-block;position:relative}@media (min-width:640px){.case-study-heading{margin-bottom:2rem;font-size:18px}}@media (min-width:1024px){.case-study-heading{font-size:20px}}.case-study-heading:after{content:"";background:var(--accent);width:60px;height:2px;position:absolute;bottom:-.5rem;left:0}.case-study-text{font-family:var(--font-body);color:var(--foreground);margin:0 0 1rem;font-size:16px;font-weight:400;line-height:1.8}@media (min-width:640px){.case-study-text{font-size:17px}}@media (min-width:1024px){.case-study-text{font-size:18px}}.case-study-deliverables{margin:1.5rem 0 0;padding:0;list-style:none}.case-study-deliverable{font-family:var(--font-body);color:var(--foreground);margin-bottom:.75rem;padding-left:2rem;font-size:16px;font-weight:400;line-height:1.8;position:relative}@media (min-width:1024px){.case-study-deliverable{font-size:17px}}.case-study-deliverable:before{content:"✓";color:var(--accent);font-size:18px;font-weight:600;position:absolute;left:0}.case-study-gallery{background:var(--background);padding:4rem 1.5rem}@media (min-width:640px){.case-study-gallery{padding:5rem 3rem}}@media (min-width:1024px){.case-study-gallery{padding:6rem 4rem}}.case-study-gallery-featured{width:100%;margin-bottom:3rem}@media (min-width:640px){.case-study-gallery-featured{margin-bottom:4rem}}.case-study-gallery-grid{grid-template-columns:1fr;gap:2rem;width:100%;display:grid}@media (min-width:640px){.case-study-gallery-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem}}@media (min-width:1024px){.case-study-gallery-grid{grid-template-columns:repeat(3,1fr);gap:3rem}}.case-study-gallery-item{border-radius:var(--radius-md);background:var(--background);transition:all .3s;position:relative;overflow:hidden;box-shadow:0 8px 24px #0000001a}.case-study-gallery-item:hover{transform:translateY(-4px)scale(1.01);box-shadow:0 12px 32px #00000026}.case-study-gallery-item.featured{grid-column:1/-1}.case-study-gallery-image{background:0 0;width:100%;height:400px;position:relative}.case-study-gallery-item.featured .case-study-gallery-image{height:500px}@media (min-width:1024px){.case-study-gallery-image{height:450px}.case-study-gallery-item.featured .case-study-gallery-image{height:600px}}.case-study-gallery-pdf{border-radius:var(--radius-md);cursor:pointer;background:linear-gradient(135deg,#ff880014 0%,#ff880008 100%);border:2px solid #f803;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:400px;padding:3rem;text-decoration:none;transition:all .3s;display:flex;position:relative}.case-study-gallery-pdf:hover{background:linear-gradient(135deg,#ff88001f 0%,#ff88000f 100%);border-color:#f806;transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.case-study-gallery-pdf-icon{font-family:var(--font-heading);color:var(--accent);margin-bottom:1rem;font-size:64px;font-weight:700;line-height:1}.case-study-gallery-pdf-label{font-family:var(--font-body);color:var(--foreground);opacity:.7;margin:0;font-size:16px}.case-study-gallery-caption{font-family:var(--font-body);color:#0009;text-align:center;margin-top:1rem;font-size:14px;font-weight:400;line-height:1.6}@media (min-width:1024px){.case-study-gallery-caption{font-size:15px}}.case-study-testimonial{background:#f5f5f5;padding:4rem 1.5rem}@media (min-width:640px){.case-study-testimonial{padding:5rem 3rem}}@media (min-width:1024px){.case-study-testimonial{padding:6rem 4rem}}.case-study-testimonial-content{border-radius:var(--radius-lg);text-align:center;background:#f5f5f5;flex-direction:column;align-items:center;padding:3rem 2rem;display:flex}@media (min-width:640px){.case-study-testimonial-content{padding:4rem 3rem}}@media (min-width:1024px){.case-study-testimonial-content{text-align:left;flex-direction:row;align-items:flex-start;padding:5rem 4rem}}.case-study-testimonial-photo{border:3px solid var(--accent);border-radius:50%;flex-shrink:0;width:120px;height:120px;margin-bottom:2rem;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001a}@media (min-width:640px){.case-study-testimonial-photo{width:140px;height:140px}}@media (min-width:1024px){.case-study-testimonial-photo{width:160px;height:160px;margin-bottom:0;margin-right:3rem}}.case-study-testimonial-photo img{object-fit:cover;width:100%;height:100%}.testimonial-photo-placeholder{background:linear-gradient(135deg,#e0e0e0 0%,#d0d0d0 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.testimonial-placeholder-icon{opacity:.4;font-size:64px}.case-study-testimonial-text{flex:1}.case-study-testimonial-quote{font-family:var(--font-heading);color:var(--foreground);margin:0 0 1.5rem;font-size:20px;font-weight:400;line-height:1.6;position:relative}@media (min-width:640px){.case-study-testimonial-quote{font-size:24px}}@media (min-width:1024px){.case-study-testimonial-quote{font-size:28px}}.case-study-testimonial-quote:before,.case-study-testimonial-quote:after{content:"\"";color:var(--accent);font-size:1.5em;line-height:1}.case-study-testimonial-author{font-family:var(--font-body);color:var(--foreground);margin:0;font-size:16px;font-weight:600}@media (min-width:1024px){.case-study-testimonial-author{font-size:17px}}.case-study-testimonial-title{font-family:var(--font-body);color:#0009;margin:.25rem 0 0;font-size:14px;font-weight:400}@media (min-width:1024px){.case-study-testimonial-title{font-size:15px}}.testimonial-placeholder-note{font-family:var(--font-body);color:#00000080;text-align:center;margin:2rem 0;font-size:15px;font-style:italic}.case-study-cta{text-align:center;background:linear-gradient(135deg,#ff880008 0%,#ff880003 100%);margin-top:4rem;padding:5rem 1.5rem}@media (min-width:640px){.case-study-cta{padding:7rem 2rem}}@media (min-width:1024px){.case-study-cta{padding:9rem 3rem}}.case-study-cta-content{max-width:800px;margin:0 auto}.case-study-cta-heading{font-family:var(--font-heading);color:var(--foreground);margin:0 0 1.5rem;font-size:36px;font-weight:400;line-height:1.2;display:inline-block;position:relative}@media (min-width:640px){.case-study-cta-heading{font-size:48px}}@media (min-width:1024px){.case-study-cta-heading{font-size:56px}}.case-study-cta-heading:after{content:"";background:var(--accent);border-radius:2px;width:120px;height:3px;position:absolute;bottom:-.75rem;left:50%;transform:translate(-50%)}.case-study-cta-text{font-family:var(--font-body);color:#000000a6;max-width:600px;margin:2.5rem auto 3rem;font-size:17px;font-weight:400;line-height:1.7}@media (min-width:1024px){.case-study-cta-text{margin:3rem auto 3.5rem;font-size:19px}}.case-study-cta-button{font-family:var(--font-body);color:var(--background);background:var(--accent);letter-spacing:.02em;border-radius:50px;padding:1.125rem 2.75rem;font-size:17px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block;box-shadow:0 4px 16px #ff880040}@media (min-width:1024px){.case-study-cta-button{padding:1.25rem 3.25rem;font-size:18px}}.case-study-cta-button:hover{background:#e67700;transform:translateY(-3px)scale(1.02);box-shadow:0 10px 28px #ff880059}.case-study-content-gallery-layout{background:var(--background);padding:4rem 1.5rem}@media (min-width:640px){.case-study-content-gallery-layout{padding:5rem 3rem}}@media (min-width:1024px){.case-study-content-gallery-layout{padding:6rem 4rem}}.case-study-content-gallery-container{flex-direction:column;gap:3rem;width:100%;max-width:1400px;margin:0 auto;display:flex}@media (min-width:1024px){.case-study-content-gallery-container{flex-direction:row;align-items:flex-start;gap:6rem}}.case-study-content-gallery-text{flex:1;min-width:0}.case-study-content-gallery-images{flex:none;width:100%}@media (min-width:1024px){.case-study-content-gallery-images{width:45%;max-width:600px}}.case-study-content-gallery-sticky{border-radius:var(--radius-medium);background:#ffffff80;max-height:calc(100vh - 160px);padding:1rem;position:sticky;top:120px;overflow-y:auto;box-shadow:0 4px 16px #00000014}@media (max-width:1023px){.case-study-content-gallery-sticky{max-height:none;position:static;overflow-y:visible}}@media (min-width:1024px){.case-study-content-gallery-sticky::-webkit-scrollbar{width:8px}.case-study-content-gallery-sticky::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.case-study-content-gallery-sticky::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}.case-study-content-gallery-sticky::-webkit-scrollbar-thumb:hover{background:#e67700}}.case-study-content-gallery-grid{flex-direction:column;gap:2rem;display:flex}.case-study-content-gallery-item{border-radius:var(--radius-medium);width:100%;transition:all .3s;overflow:hidden}.case-study-content-gallery-item .case-study-gallery-image{background:0 0;width:100%;height:300px;position:relative}@media (min-width:640px){.case-study-content-gallery-item .case-study-gallery-image{height:350px}}@media (min-width:1024px){.case-study-content-gallery-item .case-study-gallery-image{height:280px}}.case-study-gallery-image{cursor:pointer;overflow:hidden}.case-study-gallery-image img{transition:transform .4s}.case-study-gallery-image:hover img{transform:scale(1.08)}.case-study-gallery-overlay{opacity:0;pointer-events:none;background:linear-gradient(#0000 0%,#0009 60%,#000000d9 100%);justify-content:center;align-items:flex-end;padding:2rem;transition:opacity .3s;display:flex;position:absolute;inset:0}.case-study-gallery-image:hover .case-study-gallery-overlay{opacity:1}.case-study-gallery-overlay-text{font-family:var(--font-heading);color:#fff;text-align:center;text-shadow:0 2px 8px #00000080;font-size:20px;font-weight:400;transition:transform .3s .1s;transform:translateY(10px)}@media (min-width:640px){.case-study-gallery-overlay-text{font-size:24px}}@media (min-width:1024px){.case-study-gallery-overlay-text{font-size:26px}}.case-study-gallery-image:hover .case-study-gallery-overlay-text{transform:translateY(0)}.case-study-content-gallery-item{cursor:pointer}.case-study-content-gallery-item:hover{transform:translateY(-8px)scale(1.02);box-shadow:0 12px 32px #0003}.case-study-lightbox{z-index:9999;background:#000000f2;justify-content:center;align-items:center;padding:2rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.case-study-lightbox-content{flex-direction:column;align-items:center;gap:1rem;max-width:90vw;max-height:90vh;display:flex;position:relative}.case-study-lightbox-image{width:85vw;max-width:1400px;height:80vh;position:relative}@media (max-width:640px){.case-study-lightbox-image{width:90vw;height:70vh}}.case-study-lightbox-caption{color:var(--background);font-family:var(--font-body);text-align:center;margin:0;padding:.5rem 1rem;font-size:16px}.case-study-lightbox-close{color:var(--background);cursor:pointer;z-index:10001;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:36px;font-weight:300;line-height:1;transition:all .3s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.case-study-lightbox-close:hover{background:var(--accent);transform:scale(1.1)}.case-study-lightbox-prev,.case-study-lightbox-next{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffb3;cursor:pointer;z-index:10001;opacity:.6;background:#0000004d;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;font-size:28px;font-weight:300;line-height:1;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.case-study-lightbox-prev{left:2rem}.case-study-lightbox-next{right:2rem}.case-study-lightbox-prev:hover,.case-study-lightbox-next:hover{color:var(--background);opacity:1;background:#ff8800e6;border-color:#ff88004d;transform:translateY(-50%)}@media (max-width:640px){.case-study-lightbox-prev,.case-study-lightbox-next{width:44px;height:44px;font-size:36px}.case-study-lightbox-prev{left:1rem}.case-study-lightbox-next{right:1rem}.case-study-lightbox-close{width:40px;height:40px;font-size:28px;top:1rem;right:1rem}}.case-study-lightbox-counter{color:var(--background);font-family:var(--font-body);z-index:10001;background:#00000080;border-radius:20px;padding:.5rem 1rem;font-size:14px;display:none;position:absolute;bottom:4rem;left:50%;transform:translate(-50%)}@media (max-width:640px){.case-study-lightbox-counter{padding:.4rem .8rem;font-size:12px;display:block;bottom:2.5rem}}@media (max-width:639px){.case-study-gallery-item{animation:none!important}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
