/* Extracted from views/case-studies/default.ejs <style> blocks. */
/* Every selector is scoped under body.is-case-study-page. */
/* `<%= tc %>` is now `var(--tc)`, set as inline style on body. */

/* ────── Block 108-464 ────── */
/* ── Case Study Hero: dark gradient (overrides entexis.css) ── */
.is-case-study-page .cs-hero{
  background:linear-gradient(135deg,#1a2857 0%,var(--tc) 120%) !important;
  position:relative;
  overflow:hidden;
  min-height:540px;
  padding:0 !important;
  border-bottom:none !important;
}
.is-case-study-page .cs-hero h1{
  color:#fff !important;
  font-size:clamp(26px,3.5vw,46px) !important;
  line-height:1.12 !important;
  letter-spacing:-.02em !important;
}/* Morphing shapes *//* Sweep *//* Floating icons */






.is-case-study-page .cs-float{
  position:absolute;pointer-events:none;opacity:.15;
}
.is-case-study-page .cs-float--1{ width:44px;height:44px;top:12%;left:5%;animation:csFloat 8s ease-in-out infinite; }
.is-case-study-page .cs-float--2{ width:36px;height:36px;top:60%;left:42%;animation:csFloat 10s ease-in-out infinite reverse; }
.is-case-study-page .cs-float--3{ width:32px;height:32px;top:22%;right:35%;animation:csFloat 9s ease-in-out infinite 1s; }
.is-case-study-page .cs-float--4{ width:28px;height:28px;top:72%;left:32%;animation:csFloat 11s ease-in-out infinite 2s; }
.is-case-study-page .cs-float--5{ width:40px;height:40px;top:40%;right:25%;animation:csFloat 7s ease-in-out infinite .5s; }/* Breadcrumb styling lives in public/css/breadcrumb.css. *//* Hero grid: exact homepage layout */




.is-case-study-page .cs-hero .cs-hero-grid{
  padding:48px 72px 56px;position:relative;z-index:2;
  display:flex !important;gap:56px;align-items:flex-start;
  grid-template-columns:none !important;
  justify-content:space-between;
}
.is-case-study-page .cs-hero-content{ flex:1;max-width:620px; }/* Eyebrow: exact .ha-eyebrow */


.is-case-study-page .cs-eyebrow{
  font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  margin-bottom:16px;display:flex;align-items:center;gap:10px;
}
.is-case-study-page .cs-eyebrow-bar{ display:block;width:28px;height:2px; }/* Title: exact .ha-title */


.is-case-study-page .cs-title{
  font-size:clamp(26px,3.5vw,46px) !important;font-weight:700;color:#fff;
  line-height:1.12;letter-spacing:-.02em;margin-bottom:20px;
}/* Description: exact .ha-desc */


.is-case-study-page .cs-desc{
  font-size:16px;color:rgba(255,255,255,.7);
  line-height:1.7;margin-bottom:24px;max-width:560px;
}/* Impact pills: exact .ha-pill style */


.is-case-study-page .cs-hero-impacts{ margin-bottom:24px; }
.is-case-study-page .cs-hero-impacts > div{
  display:flex !important;flex-wrap:wrap !important;gap:8px !important;
  max-width:100% !important;margin:0 !important;
}
.is-case-study-page .cs-hero-impacts > div > div{
  all:unset !important;
  display:inline-block !important;
  font-size:12px !important;font-weight:600 !important;
  letter-spacing:.04em !important;
  padding:5px 14px !important;
  border:1px solid !important;
}
.is-case-study-page .cs-hero-impacts > div > div:nth-child(1){ border-color:#0096c7 !important;color:#0096c7 !important; }
.is-case-study-page .cs-hero-impacts > div > div:nth-child(2){ border-color:#f77f00 !important;color:#f77f00 !important; }
.is-case-study-page .cs-hero-impacts > div > div:nth-child(3){ border-color:#4aaa57 !important;color:#4aaa57 !important; }
.is-case-study-page .cs-hero-impacts > div > div:nth-child(4){ border-color:#1565c7 !important;color:#1565c7 !important; }
.is-case-study-page .cs-hero-impacts svg{ display:none !important; }
.is-case-study-page .cs-hero-impacts > div > div > div:first-of-type{
  all:unset !important;display:inline !important;
  font-size:12px !important;font-weight:600 !important;
  letter-spacing:.04em !important;color:inherit !important;
}
.is-case-study-page .cs-hero-impacts > div > div > div:last-of-type{ display:none !important; }/* Buttons: exact .ha-btn */


.is-case-study-page .cs-btns{ display:flex;gap:12px;flex-wrap:wrap; }
.is-case-study-page .cs-btn-primary{
  display:inline-block;padding:12px 28px;color:#fff;
  font-size:13px;font-weight:700;text-decoration:none;
  text-transform:uppercase;letter-spacing:.06em;transition:opacity .2s;
}
.is-case-study-page .cs-btn-primary:hover{ opacity:.85; }
.is-case-study-page .cs-btn-outline{
  display:inline-block;padding:11px 28px;
  border:1px solid rgba(255,255,255,.25);color:#fff;
  font-size:13px;font-weight:700;text-decoration:none;
  text-transform:uppercase;letter-spacing:.06em;transition:border-color .2s;
}
.is-case-study-page .cs-btn-outline:hover{ border-color:#fff; }/* Blinds: bold & colorful like homepage accordion */


.is-case-study-page .cs-blinds{
  width:360px;flex-shrink:0;
  display:flex;flex-direction:column;
  min-height:380px;
}
.is-case-study-page .cs-blinds-label{
  font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:12px;
}
.is-case-study-page .cs-blind{
  display:block;text-decoration:none;
  border-left:4px solid var(--blind-color);
  background:linear-gradient(135deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.07) 100%);
  overflow:hidden;
  transition:all .4s cubic-bezier(.4,0,.2,1);
  margin-bottom:2px;position:relative;
}/* Color glow: always slightly visible */

.is-case-study-page .cs-blind::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:60px;
  background:linear-gradient(90deg, color-mix(in srgb, var(--blind-color) 15%, transparent), transparent);
  pointer-events:none;opacity:.4;transition:opacity .4s ease;
}
.is-case-study-page .cs-blind-tab{
  display:flex;align-items:center;gap:14px;
  padding:16px 20px;cursor:pointer;position:relative;z-index:1;
}
.is-case-study-page .cs-blind-num{
  font-size:13px;font-weight:800;color:var(--blind-color);
  font-variant-numeric:tabular-nums;min-width:22px;
  opacity:.7;transition:opacity .3s;
}
.is-case-study-page .cs-blind-val{
  font-size:24px;font-weight:800;color:var(--blind-color);
  min-width:56px;letter-spacing:-.01em;line-height:1;
}
.is-case-study-page .cs-blind-name{
  font-size:16px;font-weight:700;color:rgba(255,255,255,.65);
  letter-spacing:.01em;transition:color .3s ease;
}
.is-case-study-page .cs-blind-body{
  max-height:0;opacity:0;padding:0 20px 0 56px;
  transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;z-index:1;
}
.is-case-study-page .cs-blind-body p{
  font-size:13px;color:rgba(255,255,255,.55);line-height:1.6;margin:0;
}/* Active state: bold, colorful, expanded */


.is-case-study-page .cs-blind.active{
  background:linear-gradient(135deg,
    color-mix(in srgb, var(--blind-color) 8%, rgba(255,255,255,.04)) 0%,
    color-mix(in srgb, var(--blind-color) 12%, rgba(255,255,255,.08)) 100%
  );
  border-left-width:5px;
}
.is-case-study-page .cs-blind.active::before{ opacity:1; }
.is-case-study-page .cs-blind.active .cs-blind-num{ opacity:1; }
.is-case-study-page .cs-blind.active .cs-blind-name{ color:#fff; }
.is-case-study-page .cs-blind.active .cs-blind-body{
  max-height:80px;opacity:1;padding:0 20px 16px 56px;
}

.is-case-study-page .cs-blinds-footer{ margin-top:14px; }
.is-case-study-page .cs-blinds-link{
  font-size:13px;font-weight:700;text-decoration:none;letter-spacing:.03em;
}
.is-case-study-page .cs-blinds-link:hover{ opacity:.85; }/* Keyframes */


@keyframes csMorph {
  0%   { border-radius:40% 60% 70% 30%/40% 50% 60% 50%;transform:rotate(0deg); }
  50%  { border-radius:60% 40% 30% 70%/60% 30% 70% 40%; }
  100% { border-radius:40% 60% 70% 30%/40% 50% 60% 50%;transform:rotate(360deg); }
}
@keyframes csFloat {
  0%   { transform:translateY(0) rotate(0deg); }
  50%  { transform:translateY(-12px) rotate(8deg); }
  100% { transform:translateY(0) rotate(0deg); }
}/* Prevent horizontal overflow from body content */


body.is-case-study-page,
html:has(body.is-case-study-page) { overflow-x:hidden; }/* ── Body sections: tighten spacing, match homepage feel ── *//* Reduce excessive padding on all body sections */




.is-case-study-page .problem-section,
.is-case-study-page .features-section,
.is-case-study-page .platform-section,
.is-case-study-page .ecosystem-section,
.is-case-study-page .roadmap-section{ padding:56px 72px !important; }

.is-case-study-page .deep-dives-section{ padding:56px 72px 40px !important; }/* Section backgrounds: alternating rhythm */


.is-case-study-page .ecosystem-section {
  background: linear-gradient(180deg,
    #1a2857 0%,
    #16214a 12%,
    #121c3a 30%,
    #eef1f6 58%,
    #ffffff 100%) !important;
}/* Section headings: match homepage .sec-title style */


.is-case-study-page .problem-section h2,
.is-case-study-page .features-section h2,
.is-case-study-page .platform-section h2,
.is-case-study-page .deep-dives-section h2,
.is-case-study-page .roadmap-section h2,
.is-case-study-page .how-section h2{
  font-size:clamp(24px,3vw,36px) !important;font-weight:700 !important;
  color:#1a2857 !important;letter-spacing:-.02em;line-height:1.15;
}/* Dark bg section headings: white */

.is-case-study-page .ecosystem-section h2{ color:#fff !important; font-size:clamp(24px,3vw,36px) !important; }/* Light bg section headings: force dark */

.is-case-study-page .prob-title{ color:#1a2857 !important; }
.is-case-study-page .prob-body{ color:#6b7280 !important; }/* Force all body eyebrows to match theme color */

.is-case-study-page .sec-eyebrow{ color:var(--tc) !important; }/* Section description text stays dark */

.is-case-study-page .features-section > .fade-in p,
.is-case-study-page .features-section .features-header p,
.is-case-study-page .ecosystem-section > div > p,
.is-case-study-page .deep-dives-section > .fade-in > p,
.is-case-study-page .roadmap-section > .fade-in > p,
.is-case-study-page .how-section > .fade-in > p{
  color:#6b7280 !important;
}/* Deep dive cards: dark text on white */

.is-case-study-page .dd-title{ color:#1a2857 !important; }
.is-case-study-page .dd-body, .is-case-study-page .dd-body p{ color:#6b7280 !important; }
.is-case-study-page .dd-label{ color:#6b7280 !important; }/* Feature side-by-side text stays dark */

.is-case-study-page .feat-sb-text .feat-name{ color:#1a2857 !important; }
.is-case-study-page .feat-sb-text .feat-desc{ color:#6b7280 !important; }/* Force white on gradient feature cards */

.is-case-study-page .features-grid .feat-card .feat-desc{ color:rgba(255,255,255,.75) !important; }
.is-case-study-page .features-grid .feat-card .feat-name{ color:#fff !important; }
.is-case-study-page .features-grid .feat-card .feat-num{ color:rgba(255,255,255,.4) !important; }
.is-case-study-page .features-grid .feat-card .feat-insight{ color:rgba(255,255,255,.5) !important; }
.is-case-study-page .feat-sb-text .feat-num{ color:#1a2857 !important; }
.is-case-study-page .feat-sb-text .feat-icon{ color:inherit !important; }/* Eyebrow labels in body: colored like homepage */


.is-case-study-page .problem-section .eyebrow-text,
.is-case-study-page .features-section .eyebrow-text,
.is-case-study-page [class*="section"] [style*="letter-spacing:.1"]{
  font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
}/* Mid-CTA strips & insight bands: hidden */


.is-case-study-page .cs-mid-cta{ display:none !important; }
.is-case-study-page .git-strip{ display:none !important; }
.is-case-study-page .insight-band{ display:none !important; }/* Impact section styles live in /css/inside-pages.css so every
   inside page uses the same rules (see .cs-impact-section there). *//* FAQ + CTA section layout now lives in inside-pages.css — only the
   per-case-study theme-colour overrides stay here. */




.is-case-study-page .cs-cta-section h2 span{ color:var(--tc) !important; }
.is-case-study-page .cs-cta-section .cta-btn-primary{ background:var(--tc) !important; }/* Related sections at bottom */


.is-case-study-page .section.alt{ background:#f7f7f8 !important; }/* Deep dive cards: subtle border treatment */


.is-case-study-page .deep-dives-section [style*="border-top"]{
  transition:transform .2s ease;
}
.is-case-study-page .deep-dives-section [style*="border-top"]:hover{
  transform:translateY(-2px);
}/* Responsive */


@media (max-width:768px) {
  .is-case-study-page .cs-hero{ min-height:auto; }
  .is-case-study-page .cs-hero .cs-hero-grid{ flex-direction:column !important;padding:32px 24px 40px !important;gap:28px; }
  .is-case-study-page .cs-stats-bar{ gap:20px;flex-wrap:wrap; }
  .is-case-study-page .cs-stat-num{ font-size:22px; }
  .is-case-study-page .cs-blinds{ width:100%;min-height:auto; }
  .is-case-study-page .cs-float{ display:none; }
  .is-case-study-page .cs-hero-highlights{ display:none; }
  .is-case-study-page .cs-blinds-label, .is-case-study-page .cs-blind{ display:none; }
  .is-case-study-page .cs-blinds-footer{ margin-top:0; }
  .is-case-study-page .cs-blinds-link{
    display:inline-block;padding:12px 28px;
    border:1px solid rgba(255,255,255,.25);
    font-size:13px;letter-spacing:.06em;text-transform:uppercase;
  }/* Body sections: reduce padding on mobile */
  
  .is-case-study-page .problem-section,
  .is-case-study-page .features-section,
  .is-case-study-page .platform-section,
  .is-case-study-page .ecosystem-section,
  .is-case-study-page .roadmap-section{ padding:40px 20px !important; }
  .is-case-study-page .deep-dives-section{ padding:40px 20px !important; }
  .is-case-study-page .how-section{ padding:40px 20px !important; }
  .is-case-study-page .cs-impact-section{ padding:40px 20px !important; }
  .is-case-study-page .cs-mid-cta{ padding:32px 20px !important; }
  .is-case-study-page .cs-faq-section{ padding:40px 20px !important; }
  .is-case-study-page .cs-cta-section{ padding:40px 20px !important; grid-template-columns:1fr !important; gap:24px !important; }
  .is-case-study-page .csb-services{ padding:40px 20px !important; }/* Problem section stack */
  
  .is-case-study-page .problem-section{ grid-template-columns:1fr !important; gap:32px !important; }/* Features grid */
  
  .is-case-study-page .features-grid{ grid-template-columns:1fr !important; }
  .is-case-study-page .features-header{ grid-template-columns:1fr !important; gap:20px !important; }/* Technology Stack grid — stacked, not a scroll strip.
     entexis.css turns .eco-grid into display:flex + overflow-x:auto with
     75vw cards at this breakpoint. The old grid-template-columns:1fr here
     never took effect because flex ignores it, so the cards stayed
     horizontally scrollable. Undo every part of that strip. */
  
  .is-case-study-page .eco-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    overflow-x:visible !important;
    scroll-snap-type:none !important;
    gap:12px !important;
    padding-bottom:0 !important;
  }
  .is-case-study-page .eco-grid .eco-card{
    min-width:0 !important;
    width:auto !important;
    flex-shrink:1 !important;
    scroll-snap-align:none !important;
  }/* Roadmap / "What's Next" cards — stacked, not a scroll strip.
     Same change as the Technology Stack grid above: one card per row
     instead of a 70vw horizontal carousel. */
  
  .is-case-study-page .rm-steps{
    display:grid !important;
    grid-template-columns:1fr !important;
    flex-wrap:wrap !important;
    overflow-x:visible !important;
    scroll-snap-type:none !important;
    gap:12px !important;
    padding-bottom:0 !important;
  }
  .is-case-study-page .rm-step{
    min-width:0 !important;
    width:auto !important;
    flex:0 1 auto !important;
    scroll-snap-align:none !important;
  }/* How it works grid */
  
  .is-case-study-page .how-grid{ grid-template-columns:1fr !important; }/* Platform section */
  
  .is-case-study-page .platform-inner{ grid-template-columns:1fr !important; gap:32px !important; }/* Deep dives */
  
  .is-case-study-page .dd-card{ grid-template-columns:1fr !important; }/* Feature side-by-side */
  
  .is-case-study-page .feat-sb-card{ grid-template-columns:1fr !important; }
  .is-case-study-page .feat-sb-card:nth-child(even){ direction:ltr !important; }
}

/* ────── Block 736-801 ────── */
/* ── Solutions We Delivered: gradient cards ── */
.is-case-study-page .csb-services{ padding:56px 72px;background:#f7f7f8; }
.is-case-study-page .csb-eyebrow{
  font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  margin-bottom:12px;display:flex;align-items:center;gap:10px;
}
.is-case-study-page .csb-eyebrow-bar{ display:block;width:28px;height:2px; }
.is-case-study-page .csb-heading{
  font-size:clamp(24px,3vw,36px);font-weight:700;color:#1a2857;
  letter-spacing:-.02em;margin-bottom:32px;
}
.is-case-study-page .csb-svc-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;
}
.is-case-study-page .csb-svc-card{
  display:flex;flex-direction:column;justify-content:flex-end;
  text-decoration:none;padding:28px 24px;
  position:relative;overflow:hidden;
  border:0 !important;border-top:0 !important;
  border-radius:18px;
  min-height:200px;
  background-image:radial-gradient(circle at 0% 0%, rgba(0,0,0,0.22), transparent 55%);
  transition:none;box-shadow:none;
}
.is-case-study-page .csb-svc-card:hover{ transform:none;box-shadow:none; }/* First card is always the white lead tile with navy text. */

.is-case-study-page .csb-svc-card:nth-child(1){
  background-color:#ffffff !important;
  background-image:radial-gradient(circle at 0% 0%, rgba(0,0,0,0.18), transparent 55%) !important;
}/* Cards 2+ cycle the brand palette with white text. Uses
   `background-color` (not the `background` shorthand) so the base
   `background-image: radial-gradient(...)` on `.csb-svc-card` stays
   applied and every tile keeps its top-left dark bloom. */

.is-case-study-page .csb-svc-card:nth-child(5n+2){ background-color:#f77f00 !important; }
.is-case-study-page .csb-svc-card:nth-child(5n+3){ background-color:#4aaa57 !important; }
.is-case-study-page .csb-svc-card:nth-child(5n+4){ background-color:#1565c7 !important; }
.is-case-study-page .csb-svc-card:nth-child(5n+5){ background-color:#1a2857 !important; }
.is-case-study-page .csb-svc-card:nth-child(5n+6){ background-color:#0096c7 !important; }
.is-case-study-page .csb-svc-card:not(:nth-child(1)),
.is-case-study-page .csb-svc-card:not(:nth-child(1)) *{ color:#ffffff !important; }
.is-case-study-page .csb-svc-title{
  font-size:18px;font-weight:700;margin-bottom:10px;
}
.is-case-study-page .csb-svc-desc{
  font-size:16px;color:#6b7280;line-height:1.6;margin-bottom:16px;
}
.is-case-study-page .csb-svc-link{
  font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
}/* Responsive: related sections */


@media (max-width:768px) {
  .is-case-study-page .csb-services{ padding:40px 20px !important; }
  .is-case-study-page .csb-gradient-panel{ width:100% !important; }/* Related case studies section */
  
  .is-case-study-page div[style*="padding:72px 72px 72px"]{ padding:40px 20px !important; }
  .is-case-study-page div[style*="padding:72px 72px 72px"] > .fade-in[style*="flex-direction:row-reverse"]{
    flex-direction:column !important;
  }
  .is-case-study-page div[style*="padding:72px 72px 72px"] > .fade-in a[style*="margin-right:-24px"]{
    margin-right:0 !important; width:100% !important;
  }
}

/* ────── Block 960-1010 ────── */
.is-case-study-page .cs-mid-cta{
  margin: 0;
  background: #1a2857;
  padding: 0;
}
.is-case-study-page .cs-mid-cta-inner{
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 44px 24px;
}
.is-case-study-page .cs-mid-cta-title{
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
  line-height: 1.3;
}
.is-case-study-page .cs-mid-cta-text p{
  font-size: 14px;
  color: rgba(255,255,255,.65);
  line-height: 1.7;
  margin: 0;
}
.is-case-study-page .cs-mid-cta-btn{
  display: inline-block;
  padding: 14px 28px;
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none !important;
  white-space: nowrap;
  transition: opacity .15s;
}
.is-case-study-page .cs-mid-cta-btn:hover{
  opacity: 0.85;
}
@media (max-width: 768px) {
  .is-case-study-page .cs-mid-cta-inner{
    flex-direction: column;
    text-align: center;
    padding: 36px 24px;
  }
}

