/* ==========================================================================
   MCG MODERN — MAIN STYLESHEET
   A completely different visual system from the previous MCG theme:
   deep-indigo glassmorphism, teal/violet/coral gradient accents, a
   floating pill navbar, mixed-case display type (not condensed caps).
   ========================================================================== */

:root{
  /* --- palette --- */
  --c2-bg:        #0a0c16;
  --c2-bg-alt:    #10132320;
  --c2-bg-alt2:   #10132a;
  --c2-surface:   rgba(255,255,255,.045);
  --c2-surface-2: rgba(255,255,255,.075);
  --c2-border:    rgba(255,255,255,.10);
  --c2-border-2:  rgba(255,255,255,.18);
  --c2-text:      #f4f5fb;
  --c2-text-dim:  #9ea3c4;
  --c2-text-faint:#666c94;

  --c2-teal:   #2dd4bf;
  --c2-violet: #8b5cf6;
  --c2-coral:  #fb7185;
  --c2-gold:   #fbbf24;

  --grad-brand: linear-gradient(120deg, var(--c2-teal) 0%, var(--c2-violet) 55%, var(--c2-coral) 100%);
  --grad-media: linear-gradient(160deg, #103a3a, #0a0c16);
  --grad-consulting: linear-gradient(160deg, #2a1a45, #0a0c16);
  --grad-events: linear-gradient(160deg, #3a1420, #0a0c16);

  /* --- type --- */
  --f2-display: 'Space Grotesk', -apple-system, sans-serif;
  --f2-body: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

  /* --- layout --- */
  --nav-h: 88px;
  --container-max: 1360px;
  --r-lg: 28px;
  --r-md: 18px;
  --r-sm: 12px;
  --ease2: cubic-bezier(.19,1,.22,1);
}

/* ---------------------------------------------------------------------- */
/* Reset / base                                                           */
/* ---------------------------------------------------------------------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body.mcg2-site{
  margin:0; background:var(--c2-bg); color:var(--c2-text);
  font-family:var(--f2-body); font-size:16px; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3,h4{ margin:0; font-family:var(--f2-display); font-weight:600; letter-spacing:-.01em; }
p{ margin:0; }
button{ font-family:inherit; cursor:pointer; background:none; border:none; color:inherit; }
:focus-visible{ outline:2px solid var(--c2-teal); outline-offset:3px; }

.mcg2-container{ max-width:var(--container-max); margin:0 auto; padding:0 40px; }
@media (max-width:1024px){ .mcg2-container{ padding:0 24px; } }
@media (max-width:600px){ .mcg2-container{ padding:0 20px; } }

.mcg2-h1{ font-size:clamp(36px,5.4vw,68px); line-height:1.04; }
.mcg2-h2{ font-size:clamp(28px,3.6vw,44px); line-height:1.1; margin-top:10px; }
.mcg2-gradient-text{ background:var(--grad-brand); -webkit-background-clip:text; background-clip:text; color:transparent; }
.mcg2-lede{ max-width:600px; color:var(--c2-text-dim); font-size:17px; margin-top:18px; }
.mcg2-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; letter-spacing:.02em; color:var(--c2-teal); text-transform:uppercase; }
.mcg2-kicker{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--c2-teal); text-transform:uppercase; letter-spacing:.03em; margin-bottom:14px; }
.mcg2-kicker svg,.mcg2-eyebrow svg{ width:14px; height:14px; }

/* ---------------------------------------------------------------------- */
/* Mesh gradient backgrounds — replace the old SVG illustration system    */
/* with pure CSS ambient color fields per section/division.               */
/* ---------------------------------------------------------------------- */
.mcg2-mesh{
  position:relative; width:100%; height:100%; min-height:220px; border-radius:var(--r-md); overflow:hidden;
  background:var(--c2-bg-alt2);
}
.mcg2-mesh::before,.mcg2-mesh::after{
  content:''; position:absolute; width:70%; height:70%; border-radius:50%; filter:blur(60px); opacity:.55;
  animation:mcg2-blob-float 12s ease-in-out infinite alternate;
}
.mcg2-mesh--hero{ background:radial-gradient(120% 100% at 20% 0%, #12203a 0%, var(--c2-bg) 60%); }
.mcg2-mesh--hero::before{ background:var(--c2-teal); top:-10%; left:-10%; }
.mcg2-mesh--hero::after{ background:var(--c2-coral); bottom:-15%; right:-10%; animation-delay:2s; }

.mcg2-mesh--media{ background:var(--grad-media); }
.mcg2-mesh--media::before{ background:var(--c2-teal); top:-10%; left:10%; }
.mcg2-mesh--media::after{ background:#0891b2; bottom:-10%; right:0; animation-delay:1.5s; }

.mcg2-mesh--consulting{ background:var(--grad-consulting); }
.mcg2-mesh--consulting::before{ background:var(--c2-violet); top:-10%; right:0; }
.mcg2-mesh--consulting::after{ background:#a78bfa; bottom:-15%; left:0; animation-delay:1s; }

.mcg2-mesh--events{ background:var(--grad-events); }
.mcg2-mesh--events::before{ background:var(--c2-coral); top:-15%; left:0; }
.mcg2-mesh--events::after{ background:var(--c2-gold); bottom:-10%; right:10%; animation-delay:2.5s; }

.mcg2-mesh--about{ background:linear-gradient(160deg,#151a33,#0a0c16); }
.mcg2-mesh--about::before{ background:var(--c2-violet); top:-10%; left:0; }
.mcg2-mesh--about::after{ background:var(--c2-teal); bottom:-10%; right:0; animation-delay:1.8s; }

.mcg2-mesh--cta{ position:absolute; inset:0; border-radius:inherit; opacity:.8; }
.mcg2-mesh--cta::before{ background:var(--c2-teal); top:-20%; left:-5%; }
.mcg2-mesh--cta::after{ background:var(--c2-coral); bottom:-20%; right:-5%; animation-delay:1.2s; }

@keyframes mcg2-blob-float{ from{ transform:translate(0,0) scale(1); } to{ transform:translate(20px,-16px) scale(1.15); } }

/* ---------------------------------------------------------------------- */
/* NAV — floating glass pill                                              */
/* ---------------------------------------------------------------------- */
.mcg2-nav{ position:fixed; top:0; left:0; right:0; z-index:200; padding:18px 24px 0; }
.mcg2-nav-inner{
  max-width:var(--container-max); margin:0 auto; display:flex; align-items:center; gap:24px;
  padding:12px 14px 12px 22px; border-radius:999px;
  background:rgba(12,14,26,.6); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border:1px solid var(--c2-border); transition:background .3s var(--ease2), box-shadow .3s var(--ease2);
}
.mcg2-nav.is-scrolled .mcg2-nav-inner{ background:rgba(10,12,22,.85); box-shadow:0 12px 34px rgba(0,0,0,.35); }

.mcg2-logo{ display:flex; align-items:center; gap:8px; flex-shrink:0; }
.mcg2-logo-mark{ width:26px; height:26px; color:var(--c2-teal); display:flex; }
.mcg2-logo-mark svg{ width:100%; height:100%; }
.mcg2-logo-text{ font-family:var(--f2-display); font-weight:700; font-size:19px; letter-spacing:.01em; }

.mcg2-nav-menu{ flex:1; display:flex; justify-content:center; }
.mcg2-nav-list{ display:flex; align-items:center; gap:6px; }
.mcg2-nav-list li a{
  position:relative; display:block; padding:9px 16px; font-size:14.5px; font-weight:500; color:var(--c2-text-dim);
  border-radius:999px; transition:color .3s var(--ease2), background .3s var(--ease2);
}
.mcg2-nav-list li a:hover{ color:var(--c2-text); background:var(--c2-surface); }
.mcg2-nav-list li.current-menu-item > a{ color:var(--c2-text); background:var(--c2-surface-2); }

.mcg2-nav-right{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.mcg2-burger{ display:none; width:40px; height:40px; align-items:center; justify-content:center; flex-direction:column; gap:5px; }
.mcg2-burger span{ width:18px; height:2px; background:var(--c2-text); border-radius:2px; transition:transform .3s var(--ease2), opacity .3s var(--ease2); }

.mcg2-btn{
  display:inline-flex; align-items:center; gap:8px; padding:12px 22px; border-radius:999px;
  font-size:14px; font-weight:600; transition:transform .3s var(--ease2), box-shadow .3s var(--ease2), background .3s var(--ease2);
}
.mcg2-btn svg{ width:15px; height:15px; }
.mcg2-btn-primary{ background:var(--grad-brand); color:#0a0c16; }
.mcg2-btn-primary:hover{ transform:translateY(-2px); box-shadow:0 10px 30px -6px rgba(45,212,191,.5); }
.mcg2-btn.ghost{ border:1px solid var(--c2-border-2); color:var(--c2-text); }
.mcg2-btn.ghost:hover{ background:var(--c2-surface); }
.mcg2-btn-lg{ padding:16px 30px; font-size:15px; }

@media (max-width:900px){
  .mcg2-nav-menu{ display:none; }
  .mcg2-burger{ display:flex; }
  .mcg2-nav-right .mcg2-btn-primary{ display:none; }
}

/* --- mobile drawer (slides from right) --- */
.mcg2-drawer{
  position:fixed; top:0; right:0; bottom:0; width:min(360px,88vw); z-index:300;
  background:rgba(10,12,22,.97); backdrop-filter:blur(20px); border-left:1px solid var(--c2-border);
  padding:26px 26px 34px; overflow-y:auto; transform:translateX(100%); transition:transform .5s var(--ease2);
}
.mcg2-drawer.is-open{ transform:translateX(0); }
.mcg2-drawer-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:30px; }
.mcg2-drawer-close svg{ width:20px; height:20px; }
.mcg2-drawer-list li a{ display:block; padding:14px 4px; font-family:var(--f2-display); font-size:19px; font-weight:600; border-bottom:1px solid var(--c2-border); }
.mcg2-drawer-social{ display:flex; gap:16px; margin-top:26px; }
.mcg2-drawer-social svg{ width:18px; height:18px; color:var(--c2-text-dim); }
body.mcg2-drawer-open{ overflow:hidden; }
.mcg2-nav-list.mcg2-drawer-list{ flex-direction:column; align-items:stretch; }

/* ---------------------------------------------------------------------- */
/* HERO                                                                    */
/* ---------------------------------------------------------------------- */
.mcg2-hero{ position:relative; padding-top:calc(var(--nav-h) + 70px); padding-bottom:90px; overflow:hidden; }
.mcg2-hero-bg{ position:absolute; inset:0; z-index:-1; }
.mcg2-hero-bg img{ width:100%; height:100%; object-fit:cover; }
.mcg2-hero-inner{ max-width:820px; }
.mcg2-hero-title{ margin-top:16px; }
.mcg2-hero-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:28px; margin-top:34px; }
.mcg2-play-link{ display:inline-flex; align-items:center; gap:14px; }
.mcg2-play-circle{ width:52px; height:52px; border-radius:50%; border:1px solid var(--c2-border-2); display:flex; align-items:center; justify-content:center; transition:all .35s var(--ease2); flex-shrink:0; }
.mcg2-play-circle svg{ width:18px; height:18px; }
.mcg2-play-link:hover .mcg2-play-circle{ background:var(--grad-brand); color:#0a0c16; border-color:transparent; transform:scale(1.06); }
.mcg2-play-link strong{ display:block; font-size:14px; }
.mcg2-play-link span span{ font-size:13px; color:var(--c2-text-dim); }

/* ---------------------------------------------------------------------- */
/* THREE DIVISIONS                                                        */
/* ---------------------------------------------------------------------- */
.mcg2-division-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:1000px){ .mcg2-division-grid{ grid-template-columns:1fr; } }
.mcg2-division-card{
  display:block; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--c2-border);
  background:var(--c2-surface); transition:transform .5s var(--ease2), border-color .5s var(--ease2), box-shadow .5s var(--ease2);
}
.mcg2-division-card:hover{ transform:translateY(-10px); }
.mcg2-division-media{ aspect-ratio:4/3; }
.mcg2-division-media img{ width:100%; height:100%; object-fit:cover; }
.mcg2-division-content{ padding:26px; position:relative; }
.mcg2-division-num{ font-family:var(--f2-display); font-size:13px; color:var(--c2-text-faint); font-weight:700; }
.mcg2-division-content h3{ font-size:24px; margin-top:8px; }
.mcg2-division-content p{ color:var(--c2-text-dim); font-size:14.5px; margin-top:10px; }
.mcg2-division-arrow{
  position:absolute; top:26px; right:26px; width:38px; height:38px; border-radius:50%;
  border:1px solid var(--c2-border-2); display:flex; align-items:center; justify-content:center;
  transition:transform .4s var(--ease2), background .4s var(--ease2);
}
.mcg2-division-arrow svg{ width:15px; height:15px; }
.mcg2-div-media:hover{ border-color:var(--c2-teal); box-shadow:0 20px 50px -20px rgba(45,212,191,.4); }
.mcg2-div-consulting:hover{ border-color:var(--c2-violet); box-shadow:0 20px 50px -20px rgba(139,92,246,.4); }
.mcg2-div-events:hover{ border-color:var(--c2-coral); box-shadow:0 20px 50px -20px rgba(251,113,133,.4); }
.mcg2-division-card:hover .mcg2-division-arrow{ transform:rotate(45deg); background:var(--grad-brand); color:#0a0c16; border-color:transparent; }

/* ---------------------------------------------------------------------- */
/* Sections, grids, generic cards                                         */
/* ---------------------------------------------------------------------- */
.mcg2-section{ padding:100px 0; }
.mcg2-section-tight{ padding:50px 0; }
.mcg2-section-alt{ background:linear-gradient(180deg, transparent, rgba(255,255,255,.02), transparent); }

.mcg2-section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; }
.mcg2-link{ display:inline-flex; align-items:center; gap:8px; color:var(--c2-teal); font-weight:600; font-size:14.5px; }
.mcg2-link svg{ width:14px; height:14px; }

.mcg2-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:44px; }
.mcg2-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:36px; }
.mcg2-grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media (max-width:1000px){ .mcg2-grid-2,.mcg2-grid-3,.mcg2-grid-4{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .mcg2-grid-2,.mcg2-grid-3,.mcg2-grid-4{ grid-template-columns:1fr; } }

.mcg2-media-frame{ border-radius:var(--r-lg); overflow:hidden; aspect-ratio:5/4; border:1px solid var(--c2-border); }
.mcg2-media-frame img{ width:100%; height:100%; object-fit:cover; }

/* generic content card (portfolio / insight) */
.mcg2-card{
  display:block; border-radius:var(--r-md); overflow:hidden; border:1px solid var(--c2-border);
  background:var(--c2-surface); transition:transform .45s var(--ease2), border-color .45s var(--ease2), box-shadow .45s var(--ease2);
}
.mcg2-card:hover{ transform:translateY(-8px); border-color:var(--c2-border-2); box-shadow:0 24px 48px -24px rgba(0,0,0,.5); }
.mcg2-card-media{ position:relative; aspect-ratio:4/5; overflow:hidden; }
.mcg2-card-media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease2); }
.mcg2-card:hover .mcg2-card-media img{ transform:scale(1.08); }
.mcg2-card-arrow{
  position:absolute; top:14px; right:14px; width:36px; height:36px; border-radius:50%;
  background:rgba(10,12,22,.6); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center;
  opacity:0; transform:translateY(-6px); transition:opacity .35s var(--ease2), transform .35s var(--ease2);
}
.mcg2-card-arrow svg{ width:15px; height:15px; }
.mcg2-card:hover .mcg2-card-arrow{ opacity:1; transform:translateY(0); }
.mcg2-card-body{ padding:20px; }
.mcg2-card-body h3{ font-size:18px; margin-top:8px; }
.mcg2-card-meta{ color:var(--c2-text-dim); font-size:13.5px; margin-top:6px; }
.mcg2-tag{ display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--c2-teal); }

/* case study row card */
.mcg2-case-list{ display:grid; gap:20px; margin-top:36px; }
.mcg2-case-row{
  display:grid; grid-template-columns:.9fr 1.6fr auto; gap:0; align-items:stretch;
  border-radius:var(--r-md); overflow:hidden; border:1px solid var(--c2-border); background:var(--c2-surface);
  transition:transform .4s var(--ease2), border-color .4s var(--ease2);
}
.mcg2-case-row:hover{ transform:translateY(-6px); border-color:var(--c2-border-2); }
.mcg2-case-media{ position:relative; overflow:hidden; min-height:170px; }
.mcg2-case-media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease2); }
.mcg2-case-row:hover .mcg2-case-media img{ transform:scale(1.08); }
.mcg2-case-body{ padding:26px; display:flex; flex-direction:column; justify-content:center; gap:6px; }
.mcg2-case-body h3{ font-size:20px; }
.mcg2-case-body p{ color:var(--c2-text-dim); font-size:14px; }
.mcg2-case-stat{ padding:26px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; border-left:1px solid var(--c2-border); min-width:150px; }
.mcg2-case-stat strong{ font-family:var(--f2-display); font-size:32px; background:var(--grad-brand); -webkit-background-clip:text; background-clip:text; color:transparent; }
.mcg2-case-stat span{ font-size:11.5px; color:var(--c2-text-dim); text-transform:uppercase; letter-spacing:.04em; margin-top:6px; }
@media (max-width:800px){ .mcg2-case-row{ grid-template-columns:1fr; } .mcg2-case-stat{ border-left:none; border-top:1px solid var(--c2-border); } }

/* value card (About) */
.mcg2-value-card{ padding:28px; border-radius:var(--r-md); border:1px solid var(--c2-border); background:var(--c2-surface); transition:transform .4s var(--ease2), border-color .4s var(--ease2); }
.mcg2-value-card:hover{ transform:translateY(-6px); border-color:var(--c2-border-2); }
.mcg2-icon-badge{ width:44px; height:44px; border-radius:12px; background:var(--grad-brand); color:#0a0c16; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.mcg2-icon-badge svg{ width:20px; height:20px; }
.mcg2-value-card h3{ font-size:18px; }
.mcg2-value-card p{ color:var(--c2-text-dim); font-size:14px; margin-top:8px; }

.mcg2-check-list{ display:grid; gap:12px; margin-top:22px; }
.mcg2-check-list li{ display:flex; align-items:center; gap:10px; font-size:14.5px; color:var(--c2-text-dim); }
.mcg2-check-list svg{ width:14px; height:14px; color:var(--c2-teal); flex-shrink:0; }

/* ---------------------------------------------------------------------- */
/* Team                                                                    */
/* ---------------------------------------------------------------------- */
.mcg2-team-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
@media (max-width:1000px){ .mcg2-team-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .mcg2-team-grid{ grid-template-columns:1fr; } }
.mcg2-team-card{ text-align:center; padding:26px 20px; border-radius:var(--r-md); border:1px solid var(--c2-border); background:var(--c2-surface); transition:transform .4s var(--ease2), border-color .4s var(--ease2); }
.mcg2-team-card:hover{ transform:translateY(-8px); border-color:var(--c2-border-2); }
.mcg2-team-photo{ width:96px; height:96px; border-radius:50%; overflow:hidden; margin:0 auto 16px; border:2px solid var(--c2-border-2); }
.mcg2-team-photo img{ width:100%; height:100%; object-fit:cover; }
.mcg2-team-card h3{ font-size:17px; }
.mcg2-team-role{ color:var(--c2-teal); font-size:13px; font-weight:600; margin-top:4px; }
.mcg2-team-contact{ display:flex; flex-direction:column; gap:6px; margin-top:14px; align-items:center; }
.mcg2-team-contact a{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--c2-text-dim); transition:color .3s; }
.mcg2-team-contact a:hover{ color:var(--c2-teal); }
.mcg2-team-contact svg{ width:13px; height:13px; }

/* ---------------------------------------------------------------------- */
/* Filter bar (Portfolio / Case Studies / Insights)                       */
/* ---------------------------------------------------------------------- */
.mcg2-filter-bar{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px; }
.mcg2-filter-btn{
  padding:10px 20px; border-radius:999px; border:1px solid var(--c2-border); font-size:13.5px; font-weight:600;
  color:var(--c2-text-dim); transition:all .3s var(--ease2);
}
.mcg2-filter-btn:hover{ color:var(--c2-text); border-color:var(--c2-border-2); }
.mcg2-filter-btn.is-active{ background:var(--grad-brand); color:#0a0c16; border-color:transparent; }

/* ---------------------------------------------------------------------- */
/* Empty states (no CPT entries yet)                                      */
/* ---------------------------------------------------------------------- */
.mcg2-empty-state{ text-align:center; padding:70px 30px; border:1px dashed var(--c2-border-2); border-radius:var(--r-lg); }
.mcg2-empty-state h3{ font-size:20px; margin-bottom:10px; }
.mcg2-empty-state p{ color:var(--c2-text-dim); max-width:460px; margin:0 auto; }

/* ---------------------------------------------------------------------- */
/* Stats strip                                                            */
/* ---------------------------------------------------------------------- */
.mcg2-stats-strip{ display:grid; grid-template-columns:repeat(4,1fr) 1.5fr; border:1px solid var(--c2-border); border-radius:var(--r-lg); overflow:hidden; background:var(--c2-surface); }
@media (max-width:1000px){ .mcg2-stats-strip{ grid-template-columns:repeat(2,1fr); } }
.mcg2-stat{ padding:30px 22px; border-right:1px solid var(--c2-border); }
.mcg2-stat strong{ display:block; font-family:var(--f2-display); font-size:30px; }
.mcg2-stat span{ font-size:11.5px; color:var(--c2-text-dim); text-transform:uppercase; letter-spacing:.05em; }
.mcg2-stat-cta{ padding:30px; display:flex; flex-direction:column; justify-content:center; gap:8px; background:linear-gradient(120deg, rgba(45,212,191,.14), rgba(139,92,246,.08)); }
.mcg2-stat-cta p{ font-size:13.5px; font-weight:600; }
.mcg2-stat-cta a{ color:var(--c2-teal); font-weight:700; display:inline-flex; gap:8px; align-items:center; }

/* ---------------------------------------------------------------------- */
/* Client marquee                                                         */
/* ---------------------------------------------------------------------- */
.mcg2-clients{ padding:60px 0; border-top:1px solid var(--c2-border); overflow:hidden; }
.mcg2-clients-label{ text-align:center; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--c2-text-faint); margin-bottom:30px; }
.mcg2-marquee{ display:flex; width:max-content; gap:70px; animation:mcg2-scroll 30s linear infinite; }
.mcg2-marquee-track{ display:flex; gap:70px; align-items:center; }
.mcg2-marquee-item img{ height:32px; width:auto; filter:grayscale(1) brightness(1.8); opacity:.55; transition:.3s; }
.mcg2-marquee-item:hover img{ filter:none; opacity:1; }
.mcg2-marquee-word{ font-family:var(--f2-display); font-size:22px; font-weight:600; color:var(--c2-text-faint); white-space:nowrap; }
.mcg2-marquee:hover{ animation-play-state:paused; }

/* ---------------------------------------------------------------------- */
/* Big scroll-fill headline                                               */
/* ---------------------------------------------------------------------- */
.mcg2-bigtext{ position:relative; padding:60px 0; overflow:hidden; border-top:1px solid var(--c2-border); border-bottom:1px solid var(--c2-border); }
.mcg2-bigtext-inner{ position:relative; width:100%; }
.mcg2-bigtext-layer{ width:100%; overflow:hidden; }
.mcg2-bigtext-base{ position:relative; }
.mcg2-bigtext-fill{ position:absolute; top:0; left:0; width:100%; height:100%; clip-path:inset(0 calc(100% - (var(--bt-progress,0) * 100%)) 0 0); transition:clip-path .05s linear; }
.mcg2-bigtext-track{ display:flex; width:max-content; white-space:nowrap; animation:mcg2-scroll 24s linear infinite; }
.mcg2-bigtext-track span{ font-family:var(--f2-display); font-size:clamp(40px,8vw,120px); font-weight:700; letter-spacing:-.02em; }
.mcg2-bigtext-base .mcg2-bigtext-track span{ color:transparent; -webkit-text-stroke:1.4px var(--c2-border-2); }
.mcg2-bigtext-fill .mcg2-bigtext-track span{ background:var(--grad-brand); -webkit-background-clip:text; background-clip:text; color:transparent; }

@keyframes mcg2-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---------------------------------------------------------------------- */
/* CTA banner                                                             */
/* ---------------------------------------------------------------------- */
.mcg2-cta{ position:relative; border-radius:var(--r-lg); padding:70px 50px; text-align:center; border:1px solid var(--c2-border); overflow:hidden; }
.mcg2-cta h2{ font-size:clamp(28px,4vw,44px); position:relative; }
.mcg2-cta p{ color:var(--c2-text-dim); margin:16px auto 30px; max-width:520px; position:relative; }
.mcg2-cta .mcg2-btn{ position:relative; }

/* ---------------------------------------------------------------------- */
/* Prose (single Portfolio/Case Study/Insight content)                    */
/* ---------------------------------------------------------------------- */
.mcg2-prose{ font-size:16px; color:var(--c2-text-dim); }
.mcg2-prose--wide{ max-width:760px; }
.mcg2-prose p{ margin-bottom:18px; }
.mcg2-prose h2,.mcg2-prose h3{ color:var(--c2-text); margin:32px 0 14px; }
.mcg2-prose img{ border-radius:var(--r-md); margin:20px 0; }
.mcg2-back-link{ display:inline-flex; align-items:center; gap:8px; color:var(--c2-text-dim); font-size:13.5px; margin-bottom:18px; }
.mcg2-back-link svg{ width:14px; height:14px; transform:rotate(180deg); }
.mcg2-single-hero{ min-height:44vh; }

.mcg2-sidebar-card{ align-self:start; padding:26px; border-radius:var(--r-md); border:1px solid var(--c2-border); background:var(--c2-surface); position:sticky; top:120px; }
.mcg2-sidebar-card .row{ display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--c2-border); font-size:14px; }
.mcg2-sidebar-card .row span{ color:var(--c2-text-dim); }
.mcg2-sidebar-stat{ text-align:center; margin-top:18px; padding:18px; border-radius:var(--r-sm); background:rgba(45,212,191,.08); }
.mcg2-sidebar-stat strong{ display:block; font-family:var(--f2-display); font-size:28px; background:var(--grad-brand); -webkit-background-clip:text; background-clip:text; color:transparent; }
.mcg2-sidebar-stat span{ font-size:11.5px; color:var(--c2-text-dim); text-transform:uppercase; }

.mcg2-big-stat{ text-align:center; padding:40px; }
.mcg2-big-stat strong{ display:block; font-family:var(--f2-display); font-size:clamp(48px,8vw,90px); background:var(--grad-brand); -webkit-background-clip:text; background-clip:text; color:transparent; }
.mcg2-big-stat span{ font-size:13px; color:var(--c2-text-dim); text-transform:uppercase; letter-spacing:.06em; }

/* ---------------------------------------------------------------------- */
/* Forms                                                                   */
/* ---------------------------------------------------------------------- */
.mcg2-form{ display:grid; gap:18px; }
.mcg2-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:600px){ .mcg2-form-row{ grid-template-columns:1fr; } }
.mcg2-form label{ font-size:12.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--c2-text-dim); display:block; margin-bottom:8px; }
.mcg2-form input,.mcg2-form textarea,.mcg2-form select{
  width:100%; background:var(--c2-surface); border:1px solid var(--c2-border); border-radius:var(--r-sm);
  padding:14px 16px; color:var(--c2-text); font-family:var(--f2-body); font-size:14.5px; transition:border-color .3s;
}
.mcg2-form input:focus,.mcg2-form textarea:focus,.mcg2-form select:focus{ border-color:var(--c2-teal); }
.mcg2-form textarea{ min-height:130px; resize:vertical; }
.mcg2-inline-form{ display:flex; gap:12px; }
.mcg2-inline-form input{ flex:1; background:var(--c2-surface); border:1px solid var(--c2-border); border-radius:999px; padding:14px 20px; color:var(--c2-text); }
@media (max-width:560px){ .mcg2-inline-form{ flex-direction:column; } }

.mcg2-contact-info{ display:grid; gap:22px; align-content:start; }
.mcg2-contact-info .item{ display:flex; gap:16px; align-items:flex-start; }
.mcg2-contact-info svg{ width:20px; height:20px; color:var(--c2-teal); flex-shrink:0; margin-top:2px; }
.mcg2-contact-info strong{ display:block; font-size:14px; margin-bottom:4px; }
.mcg2-contact-info span{ color:var(--c2-text-dim); font-size:13.5px; }

/* ---------------------------------------------------------------------- */
/* Footer                                                                  */
/* ---------------------------------------------------------------------- */
.mcg2-footer{ border-top:1px solid var(--c2-border); padding:60px 0 26px; margin-top:40px; }
.mcg2-footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:40px; }
@media (max-width:800px){ .mcg2-footer-grid{ grid-template-columns:1fr; } }
.mcg2-footer-brand{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.mcg2-footer-brand p{ color:var(--c2-text-dim); font-size:13.5px; max-width:320px; margin-top:6px; }
.mcg2-footer-social{ display:flex; gap:14px; margin-top:10px; }
.mcg2-footer-social svg{ width:16px; height:16px; color:var(--c2-text-dim); transition:color .3s; }
.mcg2-footer-social a:hover svg{ color:var(--c2-teal); }
.mcg2-footer-col h4{ font-size:13px; text-transform:uppercase; letter-spacing:.05em; color:var(--c2-text-dim); margin-bottom:14px; }
.mcg2-footer-col ul{ display:grid; gap:10px; }
.mcg2-footer-col a{ font-size:14px; color:var(--c2-text-dim); transition:color .3s; }
.mcg2-footer-col a:hover{ color:var(--c2-text); }
.mcg2-footer-contact li{ display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--c2-text-dim); }
.mcg2-footer-contact svg{ width:15px; height:15px; color:var(--c2-teal); flex-shrink:0; }
.mcg2-footer-bottom{ margin-top:40px; padding-top:20px; border-top:1px solid var(--c2-border); font-size:12px; color:var(--c2-text-faint); }
