/* Case Studies Page CSS - Extracted from base.css */

.case-study { display: block; background: var(--color-bg); color: var(--color-text-light); }
.case-study section { position: relative;}
.case-study-hero { position: relative; padding: clamp(140px, 18vw, 220px) 0 clamp(120px, 16vw, 180px); overflow: hidden; color: var(--color-accent-contrast); }
.case-study-hero::before { content: ""; position: absolute; inset: 0; background-image: var(--case-hero-image); background-size: cover; background-position: center; filter: brightness(.45); transform: scale(1.02);}
.case-study-hero__overlay { position: absolute; inset: 0; background: linear-gradient(140deg, rgba(6,10,18,.92) 0%, rgba(6,10,18,.72) 52%, rgba(6,10,18,.88) 100%); z-index: 1; }
.case-study-hero__content { position: relative; z-index: 2; max-width: 760px; display: flex; flex-direction: column; gap: 20px;}
.case-study-hero__eyebrow { margin: 0; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; font-size: 14px; color: rgba(255,255,255,.72); }
.case-study-hero h1 { margin: 0; font-size: clamp(38px, 5.2vw, 62px); line-height: 1.1; letter-spacing: -0.02em;}
.case-study-hero__subtitle { margin: 0; font-size: clamp(18px, 2.6vw, 22px); color: rgba(255,255,255,.78); max-width: 520px; }
.case-study-hero__cta { align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; margin-top: 12px;}
.case-study-hero__cta span { font-size: 20px; transform: translateY(-1px); }
.case-study-about { padding: clamp(48px, 6vw, 72px) 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border);}
.case-study-about .container {display: flex; flex-direction: column; gap: 32px;}
.case-study-about__content { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(24px, 4vw, 56px); align-items: start;}
.case-study-about__intro h2 { margin: 0 0 16px 0; font-size: clamp(24px, 3vw, 32px); color: var(--color-text); letter-spacing: -0.01em; }
.case-study-about__intro p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--color-text-light);}
.case-study-about__facts { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 14px 20px; color: var(--color-muted); }
.case-study-about__facts div { display: flex; flex-direction: column; gap: 4px;}
.case-study-about__facts dt { font-weight: 700; text-transform: uppercase; letter-spacing: .12em; font-size: 11px; color: rgba(233,238,249,.7); }
.case-study-about__facts dd { margin: 0; color: var(--color-text-light); font-size: 14px; font-weight: 500;}
.case-study-about__facts a { color: var(--color-accent); }
.case-study-about__gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px;}
.case-study-about--light{ background:#fff; border-top: 1px solid rgba(13,16,24,.12); border-bottom: 1px solid rgba(13,16,24,.12); }
.case-study-about--light .case-study-about__intro h2{ color:#0d1018; }
.case-study-about--light .case-study-about__intro p{ color: rgba(13,16,24,.72); }
.case-study-about--light .case-study-about__facts dt{ color: rgba(13,16,24,.55); }
.case-study-about--light .case-study-about__facts dd{ color: rgba(13,16,24,.78); }
.case-study-about--light .case-study-about__facts a{ color:#1163fb; }
.case-study-media { position: relative; border-radius: 24px; overflow: hidden; min-height: 280px; background: radial-gradient(circle at top left, rgba(59,77,148,.45), transparent 60%), rgba(20,24,32,.9); border: 1px solid rgba(233,238,249,.08); }
.case-study-media::before { content: ""; position: absolute; inset: 0; background-image: var(--media-image); background-size: cover; background-position: center; opacity: .72; transition: opacity .3s ease, transform .3s ease;}
.case-study-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(11,14,22,.85) 0%, rgba(11,14,22,.45) 55%, rgba(47,112,255,.25) 100%); opacity: .35; transition: opacity .3s ease; }
.case-study-media:hover::before { opacity: .88; transform: scale(1.03);}
.case-study-media:hover::after { opacity: .15; }
.case-study-media.is-wide { min-height: 360px; border-radius: 28px;}
.case-study-insight { padding: clamp(80px, 9vw, 120px) 0 0 0; }
.case-study-insight__content { display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); align-items: start;}
.case-study-insight h2 { margin: 0; font-size: clamp(32px, 4.4vw, 48px); letter-spacing: -0.02em; color: var(--color-text); }
.case-study-insight__copy p { margin: 0 0 20px 0; color: var(--color-text-light); font-size: 18px; line-height: 1.8;}
.case-study-insight__copy p:last-child { margin-bottom: 0; }
.case-study-insight__media { margin-top: clamp(40px, 6vw, 72px);}
.case-study-services { padding: clamp(96px, 11vw, 140px) 0 clamp(72px, 9vw, 108px) 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); background: radial-gradient(520px 320px at 80% 0%, rgba(var(--color-accent-rgb), .14), transparent), var(--color-bg); }
.case-study-services__head h2 { margin: 0 0 40px 0; font-size: clamp(30px, 4.2vw, 46px); color: var(--color-text); text-align: center;}
.case-study-services__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.case-study-services__card { position: relative; border: 1px solid rgba(233,238,249,.08); border-radius: 22px; padding: 32px 28px; background: rgba(21,22,23,.82); box-shadow: 0 20px 40px rgba(0,0,0,.25); display: flex; flex-direction: column; gap: 18px;}
.case-study-services__card h3 { margin: 0; font-size: 20px; color: var(--color-text); letter-spacing: -0.01em; }
.case-study-services__card ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 10px;}
.case-study-services__card li { color: var(--color-text-light); }
.case-study-step { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(var(--color-accent-rgb), .18); color: var(--color-accent); font-weight: 700; font-size: 18px; letter-spacing: .04em;}
.case-study-quote { padding: clamp(60px, 8vw, 96px) 0; }
.case-study-quote blockquote { margin: 0; padding: clamp(36px, 5vw, 60px); border-radius: 28px; border: 1px solid rgba(233,238,249,.12); background: linear-gradient(135deg, rgba(29, 34, 48, .85), rgba(18, 20, 30, .92)); box-shadow: 0 28px 60px rgba(0,0,0,.32); text-align: center; display: flex; flex-direction: column; gap: 24px;}
.case-study-quote p { margin: 0; font-size: clamp(18px, 2.6vw, 22px); line-height: 1.8; color: var(--color-text-light); }
.case-study-quote footer { font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(233,238,249,.7); font-size: 12px;}
.case-study-challenges { padding: clamp(96px, 10vw, 140px) 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.case-study-challenges__head h2 { margin: 0 0 clamp(40px, 6vw, 64px) 0; font-size: clamp(32px, 4.2vw, 46px); color: var(--color-text); text-align: center;}
.case-study-challenges__list { display: flex; flex-direction: column; gap: clamp(48px, 8vw, 80px); }
.case-study-challenge { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: clamp(32px, 6vw, 80px); align-items: center;}
.case-study-challenge:nth-child(even) { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); }
.case-study-challenge:nth-child(even) .case-study-challenge__copy { order: 2;}
.case-study-challenge:nth-child(even) .case-study-challenge__media { order: 1; }
.case-study-challenge__copy { display: flex; flex-direction: column; gap: 18px;}
.case-study-challenge__copy h3 { margin: 0; font-size: clamp(24px, 3.6vw, 34px); color: var(--color-text); letter-spacing: -0.01em; }
.case-study-challenge__copy p { margin: 0; font-size: 18px; line-height: 1.8; color: var(--color-text-light);}
.case-study-challenge__media { min-height: 340px; }
.case-study-process { padding: clamp(96px, 11vw, 140px) 0; background: radial-gradient(520px 360px at 0% 0%, rgba(var(--color-accent-rgb), .18), transparent), var(--color-bg); border-bottom: 1px solid var(--color-border);}
.case-study-process__head { display: flex; flex-direction: column; gap: 16px; margin-bottom: clamp(40px, 6vw, 64px); max-width: 820px; }
.case-study-process__head h2 { margin: 0; font-size: clamp(32px, 4.4vw, 48px); color: var(--color-text); letter-spacing: -0.01em;}
.case-study-process__sub { margin: 0; font-size: 18px; color: rgba(233,238,249,.75); }
.case-study-process__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: clamp(36px, 6vw, 80px); align-items: start;}
.case-study-process__copy p { margin: 0 0 22px 0; color: var(--color-text-light); font-size: 18px; line-height: 1.8; }
.case-study-process__copy p:last-child { margin-bottom: 0;}
.case-study-process__gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; }
.case-study-process__gallery .case-study-media { min-height: 260px;}
.case-study-results { padding: clamp(96px, 11vw, 140px) 0; border-bottom: 1px solid var(--color-border); }
.case-study-results__head h2 { margin: 0 0 clamp(40px, 6vw, 64px) 0; text-align: center; font-size: clamp(32px, 4.2vw, 46px); color: var(--color-text);}
.case-study-results__grid { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); align-items: center; }
.case-study-results__metrics { display: grid; gap: 20px;}
.case-study-metric { padding: 28px; border-radius: 20px; border: 1px solid rgba(233,238,249,.1); background: rgba(18,19,22,.82); box-shadow: 0 20px 40px rgba(0,0,0,.24); display: flex; flex-direction: column; gap: 8px; }
.case-study-metric strong { font-size: clamp(34px, 5vw, 56px); color: var(--color-accent); letter-spacing: -0.02em;}
.case-study-metric span { font-size: 16px; color: rgba(233,238,249,.72); }
.case-study-results__media { min-height: 320px;}
.case-study-more { padding: clamp(96px, 11vw, 140px) 0; background: radial-gradient(540px 360px at 100% 0%, rgba(var(--color-accent-rgb), .16), transparent), var(--color-bg); border-bottom: 1px solid var(--color-border); }
.case-study-more__head h2 { margin: 0 0 clamp(40px, 6vw, 60px) 0; font-size: clamp(30px, 4vw, 44px); color: var(--color-text);}
.case-study-more__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.case-study-more__card { border: 1px solid rgba(233,238,249,.08); border-radius: 24px; overflow: hidden; background: rgba(18,20,26,.88); box-shadow: 0 24px 46px rgba(0,0,0,.26); transition: transform .3s ease, box-shadow .3s ease;}
.case-study-more__card:hover { transform: translateY(-6px); box-shadow: 0 32px 60px rgba(0,0,0,.32); }
.case-study-more__card a { display: flex; flex-direction: column; height: 100%; color: inherit;}
.case-study-more__card .case-study-media { min-height: 220px; border-radius: 0; }
.case-study-more__info { padding: 24px 26px 28px 26px; display: flex; flex-direction: column; gap: 12px;}
.case-study-more__info h3 { margin: 0; font-size: 20px; color: var(--color-text); }
.case-study-more__info p { margin: 0; color: var(--color-text-light); font-size: 16px; line-height: 1.6;}
.case-study-cta { position: relative; padding: clamp(96px, 10vw, 140px) 0; overflow: hidden; }
.case-study-cta::before { content: ""; position: absolute; inset: 0; background-image: var(--case-cta-image); background-size: cover; background-position: center; filter: brightness(.35);}
.case-study-cta__overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(10,14,24,.9) 0%, rgba(10,14,24,.76) 52%, rgba(47,112,255,.32) 100%); z-index: 1; }
.case-study-cta__content { position: relative; z-index: 2; max-width: 720px; margin: 0 auto; text-align: center; display: flex; flex-direction: column; gap: 20px; color: var(--color-accent-contrast);}
.case-study-cta__content h2 { margin: 0; font-size: clamp(32px, 4.4vw, 48px); letter-spacing: -0.01em; }
.case-study-cta__content p { margin: 0; font-size: 18px; line-height: 1.7; color: rgba(255,255,255,.78);}
.case-study-cta__content .btn-primary { align-self: center; margin-top: 8px; }
