/* ===== GMB CASE STUDY — page styles (rebuilt to match Figma) ===== */
:root{
  --gmbcs-cream:#FFFFF0;
  --gmbcs-card:#141314;         /* Business / Problem cards */
  --gmbcs-card-bd:rgba(255,187,0,.16);
  --gmbcs-solution-card:#0E1F17;/* "What We Did" card (greenish dark) */
  --gmbcs-solution-item:#17402B;/* the 4 green solution sub-cards */
  --gmbcs-solution-item-bd:rgba(64,192,120,.35);
  --gmbcs-after-green:#1E9E57;  /* Before/After "after" values */
}

/* ---------- HERO (full-bleed image, copy overlaid on left) ---------- */
.gmbcs-hero{ position:relative; background:var(--ink); color:var(--ivory); overflow:hidden; }
/* image pushed 30px further right (slightly past the edge) per request */
.gmbcs-hero-bg{ position:absolute; inset:0 -14px 0 0; z-index:1; }
.gmbcs-hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:right center; display:block; }
/* left scrim keeps the copy column clean (like the homepage banner) */
.gmbcs-hero-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, var(--ink) 0%, rgba(12,11,12,.72) 32%, rgba(12,11,12,0) 56%); }
/* two-column layout matching the homepage banner (copy | media) */
.gmbcs-hero-inner{ position:relative; z-index:2; min-height:600px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,720px); gap:56px; align-items:center; }
.gmbcs-hero-copy{ grid-column:1; max-width:560px; min-width:0; }
/* Banner heading — match homepage: ivory→gold gradient, light base + bold accent, gold underlined word */
.gmbcs-hero-title{ font-family:var(--font-display); font-size:clamp(40px,4.4vw,56px); line-height:1.05; letter-spacing:-1.2px; text-transform:capitalize; font-weight:400; margin-top:22px;
  background:linear-gradient(180deg,var(--ivory) 45%,var(--gold)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.gmbcs-hero-title .b{ font-weight:700; }
.gmbcs-hero-title .rev{ position:relative; color:var(--gold); -webkit-text-fill-color:var(--gold); font-weight:700; white-space:nowrap; }
.gmbcs-hero-title .rev::after{ content:""; position:absolute; left:0; right:-4px; bottom:-12px; height:14px;
  background:url('../assets/images/home/hero-underline-scribble.svg') no-repeat center/contain; }
.gmbcs-hero-desc{ color:var(--ivory); font-size:16px; margin-top:20px; max-width:460px; }
.gmbcs-hero .hero-actions{ display:flex; gap:16px; margin-top:32px; flex-wrap:wrap; }

/* ---------- GEO 360 section now lives in css/style.css as the shared .geo360 component ---------- */

/* ---------- AT A GLANCE ---------- */
.gmbcs-glance{ background:var(--gmbcs-cream); padding:16px 0 40px; }
.gmbcs-glance-title{ text-align:center; margin-bottom:32px; }
.gmbcs-glance-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.gmbcs-glance-card{ background:transparent; border:1px solid var(--ink); border-radius:16px; padding:34px 24px; text-align:center; }
.gmbcs-glance-ico{ width:64px; height:64px; border-radius:50%; background:rgba(255,214,51,.14); color:var(--gold); display:grid; place-items:center; font-size:24px; margin:0 auto 22px; box-shadow:0 0 22px rgba(255,191,0,.22); }
.gmbcs-glance-num{ font-family:var(--font-display); font-weight:700; font-size:40px; color:var(--gold); letter-spacing:-1px; }
.gmbcs-glance-label{ color:var(--ink); font-size:14px; margin-top:8px; }
.gmbcs-seeall{ display:flex; justify-content:center; margin-top:40px; }

/* ---------- THE STORY (cream section, dark cards) ---------- */
.gmbcs-story{ background:#fffad9; padding:16px 0 40px; }
.gmbcs-story-heading{ text-align:center; margin-bottom:32px; }
.gmbcs-story-top{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.gmbcs-card{ background:var(--gmbcs-card); border:1px solid var(--gmbcs-card-bd); border-radius:20px; padding:32px; }
.gmbcs-kicker{ display:inline-flex; align-items:center; gap:8px; font-family:var(--font-display); font-weight:700; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); }
.gmbcs-kicker .dot{ width:9px; height:9px; border-radius:3px; background:var(--gold); }
.gmbcs-card-titlerow{ display:flex; align-items:center; gap:12px; margin-top:16px; }
.gmbcs-card-ico{ display:inline-flex; }
.gmbcs-card-ico img{ width:26px; height:26px; }
.gmbcs-card-title{ font-family:var(--font-display); font-weight:700; font-size:22px; color:var(--ivory); }
.gmbcs-card-desc{ color:var(--muted-dark); font-size:15px; line-height:1.55; margin-top:12px; }
.gmbcs-divider{ display:block; height:1px; background:rgba(255,255,255,.08); margin:22px 0; }
.gmbcs-list li{ display:flex; align-items:center; gap:12px; color:#e9e9e6; font-size:15px; padding:9px 0; }
.gmbcs-check{ width:22px; height:22px; border-radius:50%; background:rgba(255,187,0,.16); color:var(--gold); display:grid; place-items:center; font-size:11px; flex:none; }
.gmbcs-dot{ width:18px; height:18px; border-radius:50%; border:2px solid rgba(255,187,0,.55); flex:none; position:relative; }
.gmbcs-dot::after{ content:""; position:absolute; inset:4px; border-radius:50%; background:var(--gold); }
/* The Problem list icon (new icon-wrapper (5).svg — carries its own gold disc) */
.gmbcs-warn-ico{ width:26px; height:26px; flex:none; display:block; }

/* What We Did (full width, greenish) */
.gmbcs-solution{ margin-top:24px; background:var(--gmbcs-solution-card); border-color:rgba(64,192,120,.28); }
.gmbcs-solution-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.gmbcs-solution-item{ background:var(--gmbcs-solution-item); border:1px solid var(--gmbcs-solution-item-bd); border-radius:12px; padding:18px 20px; }
.gmbcs-solution-top{ display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.gmbcs-solution-item .num{ font-family:var(--font-display); font-weight:700; color:var(--gold); font-size:15px; }
.gmbcs-solution-item p{ color:#eafff4; font-size:15px; }

/* ---------- BEFORE VS AFTER ---------- */
.gmbcs-ba{ background:var(--gmbcs-cream); padding:16px 0 40px; }
.gmbcs-ba-title{ text-align:left; margin-bottom:28px; }
.gmbcs-ba-grid{ display:grid; grid-template-columns:929fr 508fr; gap:40px; align-items:start; }
.gmbcs-ba-table{ border:1px solid #eadfbf; border-radius:16px; overflow:hidden; background:#fff; }
.gmbcs-mrow{ display:grid; grid-template-columns:1.5fr 1fr 1.3fr; align-items:center; padding:16px 22px; gap:12px; }
.gmbcs-mrow:nth-child(even){ background:#FCF7E3; }
.gmbcs-mhead{ background:var(--gold); color:var(--ink); font-weight:700; font-size:12px; letter-spacing:.05em; text-transform:uppercase; }
.gmbcs-mhead small{ display:block; font-weight:500; opacity:.7; text-transform:none; letter-spacing:0; }
.gmbcs-metric{ display:flex; align-items:center; gap:12px; font-weight:600; color:var(--ink); font-size:15px; }
.gmbcs-metric .mic{ width:34px; height:34px; border-radius:9px; background:var(--ink); color:var(--gold); display:grid; place-items:center; font-size:14px; flex:none; }
.gmbcs-before{ color:#6b6b6b; font-size:15px; }
.gmbcs-after{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.gmbcs-after b{ color:var(--gmbcs-after-green); font-size:16px; font-weight:700; }
.gmbcs-badge{ display:inline-flex; align-items:center; gap:5px; background:rgba(255,187,0,.16); color:#a97e00; font-size:12px; font-weight:700; padding:4px 9px; border-radius:20px; }
.gmbcs-badge i{ font-size:.8em; }
.gmbcs-ba-visual{ position:relative; }
.gmbcs-ba-visual img{ width:100%; height:auto; border-radius:12px; }

/* ---------- SHARED-COMPONENT SPACING (scoped to this page) ---------- */
.geo360{ padding:40px 0; }              /* was 80px 0 */
/* GEO 360 CTA is black on this page only (other pages unaffected) */
.geo360 .btn{ background:var(--ink); color:var(--ivory); }
.geo360 .btn:hover{ background:#000; }
.geo360 .btn .btn-arrow{ filter:invert(1); }
.feature-quote{ padding:16px 0 40px; }  /* was 88px 0 */

/* ---------- PRICING / GUARANTEE BAND ---------- */
.gmbcs-pricing{ background:var(--gold); }
.gmbcs-pricing-inner{ display:grid; grid-template-columns:7fr 3fr; align-items:center; gap:36px; padding:36px 48px; }
.gmbcs-pricing-content{ display:flex; align-items:center; justify-content:space-between; gap:44px; }
.gmbcs-price{ display:flex; align-items:baseline; color:var(--ink); font-family:var(--font-display); font-weight:700; flex:none; }
.gmbcs-price .cur{ font-size:34px; align-self:flex-start; line-height:1.15; margin-right:1px; }
.gmbcs-price .amt{ font-size:76px; line-height:.9; letter-spacing:-2px; }
.gmbcs-price .per{ font-size:28px; margin-left:1px; }
.gmbcs-price-sep{ width:1px; align-self:stretch; min-height:64px; background:rgba(0,0,0,.22); flex:none; }
.gmbcs-price-item{ flex:none; }
.gmbcs-price-item b{ display:block; font-family:var(--font-display); font-weight:700; font-size:25px; color:var(--ink); }
.gmbcs-price-item small{ display:block; color:#5a4700; font-size:15px; margin-top:3px; }
.gmbcs-price-btn{ justify-self:end; flex:none; }

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
  .gmbcs-hero{ display:flex; flex-direction:column; }
  .gmbcs-hero-bg{ position:relative; inset:auto; order:2; background:#000; }
  .gmbcs-hero-bg img{ height:auto; object-fit:contain; transform:none; }
  .gmbcs-hero-bg::after{ display:none; }
  .gmbcs-hero-inner{ order:1; min-height:0; padding-top:44px; padding-bottom:8px; grid-template-columns:1fr; gap:0; }
  .gmbcs-hero-copy{ max-width:none; }
  .gmbcs-glance-grid{ grid-template-columns:repeat(2,1fr); }
  .gmbcs-ba-grid{ grid-template-columns:1fr; }
  .gmbcs-ba-visual img{ max-width:560px; margin:0 auto; }
}
@media (max-width:760px){
  .gmbcs-story-top{ grid-template-columns:1fr; }
  .gmbcs-solution-grid{ grid-template-columns:1fr; }
  .gmbcs-glance-grid{ grid-template-columns:1fr; max-width:420px; margin:0 auto; }
  .gmbcs-pricing-inner{ grid-template-columns:1fr; align-items:flex-start; gap:20px; padding:30px 24px; }
  .gmbcs-pricing-content{ flex-direction:column; align-items:flex-start; gap:16px; }
  .gmbcs-price-sep{ display:none; }
  .gmbcs-price-btn{ justify-self:start; }
  .gmbcs-mrow{ grid-template-columns:1.3fr 1fr 1fr; padding:14px; font-size:13px; }
  .gmbcs-hero-title{ font-size:44px; }
}
